picturebox的简单介绍
c#中pictureBox控件应该设置那个属性
把picturebox的尺寸设为256*256
然后设置它的sizemode
设置为zoom
图片的长宽比例会保持不变
或者scretchimage
强制使图片的大小跟picturebox的大小相同,图片的长宽比例会发生改变
vb中picturebox是什么意思
Picture - 照片、画像、图画、图片
Box - 盒子、箱子(3D),或框(2D)
PictureBox - 图片框
在VB中的PictureBox是图片框控件
c# 保存picturebox图片
你要想保存pictureBox1上的图片必须在pictureBox1的paint事件里绘制,然后再调用pictureBox1的DrawToBitmap方法保存在图片里,最后在把图片保存到硬盘上,不过这样太麻烦不如直接绘制在图片上,代码如下两种方法都有
//在pictureBox1的Paint事件里绘制
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawString("Hello World", this.Font, Brushes.Black, new PointF(10, 10));
}
private void button1_Click(object sender, EventArgs e)
{
Bitmap bit = new Bitmap(pictureBox1.Width, pictureBox1.Height);
pictureBox1.DrawToBitmap(bit, pictureBox1.ClientRectangle);
bit.Save("C:\\Picture1.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
bit.Dispose();
}
//直接绘制在Bitmap上并保存
private void button2_Click(object sender, EventArgs e)
{
Bitmap bit = new Bitmap(pictureBox1.Width, pictureBox1.Height);
Graphics g = Graphics.FromImage(bit);
g.Clear(Color.White);
g.DrawString("Hello World", this.Font, Brushes.Black, new PointF(10, 10));
g.Dispose();
bit.Save("C:\\Picture2.bmp", System.Drawing.Imaging.ImageFormat.Bmp);
bit.Dispose();
}
关于picturebox的基础用法,照着教材敲的代码出问题了
1.当该窗体初始化的时候,pictureBox1还不存在,所以为null,应该放到Form_Load事件里面去
2.bits就是创建图像的对象啊,bitG你可以理解为一个图像的画板,用来存放图像的
如何实现对PictureBox中的图象进行放大和缩小
图像没跟着变只有一个原因,SizeMode不为Zoom。
微软有提供现成的方法满足你的需要。你唯一需要知道的是一个Control的Position是相对于其父容器的边缘而言的,它叫ClientPoint坐标,并非屏幕坐标ScreenPoint。
下面是一个小方法,用来将任意Control的位置置于屏幕正中间。
?????void?SetCenterScreen(Control?control)
????????{
????????????int?screenWidth?=?Screen.PrimaryScreen.WorkingArea.Width;
????????????int?screenHeight?=?Screen.PrimaryScreen.WorkingArea.Height;
????????????int?targetLocationLeft;
????????????int?targetLocationTop;
????????????targetLocationLeft?=?(screenWidth?-?control.Width)?/?2;
????????????targetLocationTop?=?(screenHeight?-?control.Height)?/?2;
????????????if?(control.Parent?!=?null)
????????????????control.Location?=?control.Parent.PointToClient(new?Point(targetLocationLeft,?targetLocationTop));
????????????else
????????????????control.Location?=?new?Point(targetLocationLeft,?targetLocationTop);
????????}
关于缩放的问题。所有的Control都有Scale方法,接受一个SizeF作为比例因子。
所以你的picturebox事件里应该这样写(每次放大到1.1倍):
??pictureBox1.SuspendLayout();
????????????pictureBox1.Scale(new?SizeF?{?Width?=?1.1f,?Height?=?1.1f?});
????????????SetCenterScreen(pictureBox1);
????????????pictureBox1.ResumeLayout();
其中,SuspendLayout()是挂起布局引擎,这样会暂时阻止它进行外观和布局上的变更(但是会在自己的Graphics上偷偷画好),直到调用ResumeLayout()时才会一次性的迅速的显示出来。
此外,SizeMode只需要被设置一次,没有必要每次都赋值。
最后补一句,Zoom是“按比例缩放图片”,Strech才是“填满容器”,当然,如果picturebox大小比例和图像宽高比不一致,strech会让图片变形。
VB picturebox 能放多张图片么
picturebox里只能放一个图,但是picturebox里可以放很多很多的image(图片框),你只需要把image控件画到picturebox里面,然后每个image控件载入不同的图片,然后调整image控件的位置就可以达到在picturebox里放多张图的效果了
'不明白的话百度HI我,我给你做一个例子看看