picturebox的简单介绍

http://www.itjxue.com  2023-01-23 22:05  来源:未知  点击次数: 

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我,我给你做一个例子看看

(责任编辑:IT教学网)

更多