Skip to content

PictureBox

1.Bitmap

Bitmap是位图对象, 用于处理由像素数据定义的图像的对象。Bitmap继承于Image

c#
public sealed class Bitmap : System.Drawing.Image

继承关系

Object=>MarshalByRefObject=>Image=>Bitmap

1.1 构造函数

构造函数重载描述
Bitmap(Image)从指定的现有图像初始化 Bitmap 类的新实例。
Bitmap(Image, Int32, Int32)从指定的现有图像(缩放到指定大小)初始化 Bitmap 类的新实例。
Bitmap(Image, Size)从指定的现有图像(缩放到指定大小)初始化 Bitmap 类的新实例。
Bitmap(Int32, Int32)用指定的大小初始化 Bitmap 类的新实例。
Bitmap(Int32, Int32, Graphics)用指定的大小和指定的 Graphics 对象的分辨率初始化 Bitmap 类的新实例。
Bitmap(Int32, Int32, Int32, PixelFormat, IntPtr)用指定的大小、像素格式和像素数据初始化 Bitmap 类的新实例。
Bitmap(Int32, Int32, PixelFormat)用指定的大小和格式初始化 Bitmap 类的新实例。
Bitmap(Stream)从指定的数据流初始化 Bitmap 类的新实例。
Bitmap(Stream, Boolean)从指定的数据流初始化 Bitmap 类的新实例。
Bitmap(String)从指定的文件初始化 Bitmap 类的新实例。
Bitmap(String, Boolean)从指定的文件初始化 Bitmap 类的新实例。
Bitmap(Type, String)从指定的资源初始化 Bitmap 类的新实例。

1.2 属性

属性描述
Flags获取该 Image 的像素数据的特性标志。(继承自 Image)
FrameDimensionsList获取 GUID 的数组,这些 GUID 表示此 Image 中帧的维数。(继承自 Image)
Height获取此 Image 的高度(以像素为单位)。(继承自 Image)
HorizontalResolution获取此 Image 的水平分辨率(以“像素/英寸”为单位)。(继承自 Image)
Palette获取或设置用于此 Image 的调色板。(继承自 Image)
PhysicalDimension获取此图像的宽度和高度。(继承自 Image)
PixelFormat获取此 Image 的像素格式。(继承自 Image)
PropertyIdList获取存储于该 Image 中的属性项的 ID。(继承自 Image)
PropertyItems获取存储于该 Image 中的所有属性项(元数据片)。(继承自 Image)
RawFormat获取此 Image 的文件格式。(继承自 Image)
Size获取此图像的宽度和高度(以像素为单位)。(继承自 Image)
Tag获取或设置提供有关图像的附加数据的对象。(继承自 Image)
VerticalResolution获取此 Image 的垂直分辨率(以“像素/英寸”为单位)。(继承自 Image)
Width获取此 Image 的宽度(以像素为单位)。(继承自 Image)

1.3 方法

方法描述
Clone()创建此 Image 的一个精确副本。(继承自 Image)
Clone(Rectangle, PixelFormat)创建此 Bitmap(它由 Rectangle 结构并使用指定的 PixelFormat 枚举定义)部分的副本。
Clone(RectangleF, PixelFormat)创建此 Bitmap(用指定的 PixelFormat 枚举定义)部分的副本。
CreateObjRef(Type)创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。(继承自 MarshalByRefObject)
Dispose()释放此 Image 使用的所有资源。(继承自 Image)
Dispose(Boolean)释放由 Image 占用的非托管资源,还可以另外再释放托管资源。(继承自 Image)
Equals(Object)确定指定对象是否等于当前对象。(继承自 Object)
FromHicon(IntPtr)从图标的 Windows 图柄创建 Bitmap
FromResource(IntPtr, String)从指定的 Windows 资源创建 Bitmap
GetBounds(GraphicsUnit)以指定的单位获取图像的界限。(继承自 Image)
GetEncoderParameterList(Guid)返回有关指定的图像编码器所支持的参数的信息。(继承自 Image)
GetFrameCount(FrameDimension)返回指定维度的帧数。(继承自 Image)
GetHashCode()作为默认哈希函数。(继承自 Object)
GetHbitmap()从此 Bitmap创建 GDI 位图对象。
GetHbitmap(Color)从此 Bitmap创建 GDI 位图对象。
GetHicon()返回图标的图柄。
GetLifetimeService()检索控制此实例的生存期策略的当前生存期服务对象。(继承自 MarshalByRefObject)
GetPixel(Int32, Int32)获取此 Bitmap 中指定像素的颜色。
GetPropertyItem(Int32)从该 Image 获取指定的属性项。(继承自 Image)
GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr)返回此 Image 的缩略图。(继承自 Image)
GetType()获取当前实例的 Type。(继承自 Object)
InitializeLifetimeService()获取生存期服务对象来控制此实例的生存期策略。(继承自 MarshalByRefObject)
LockBits(Rectangle, ImageLockMode, PixelFormat)Bitmap 锁定到系统内存中。
LockBits(Rectangle, ImageLockMode, PixelFormat, BitmapData)Bitmap 锁定到系统内存中。
MakeTransparent()Bitmap 的默认透明颜色为透明。
MakeTransparent(Color)使指定的颜色对此 Bitmap 透明。
MemberwiseClone()创建当前 Object 的浅表副本。(继承自 Object)
MemberwiseClone(Boolean)创建当前 MarshalByRefObject 对象的浅表副本。(继承自 MarshalByRefObject)
RemovePropertyItem(Int32)从该 Image 移除指定的属性项。(继承自 Image)
RotateFlip(RotateFlipType)旋转、翻转或者同时旋转和翻转 Image。(继承自 Image)
Save(Stream, ImageCodecInfo, EncoderParameters)使用指定的编码器和图像编码器参数,将该图像保存到指定的流。(继承自 Image)
Save(Stream, ImageFormat)将此图像以指定的格式保存到指定的流中。(继承自 Image)
Save(String)将该 Image 保存到指定的文件或流。(继承自 Image)
Save(String, ImageCodecInfo, EncoderParameters)使用指定的编码器和图像编码器参数,将该 Image 保存到指定的文件。(继承自 Image)
Save(String, ImageFormat)将此 Image 以指定格式保存到指定文件。(继承自 Image)
SaveAdd(EncoderParameters)将帧添加到上次对 Save 方法调用时所指定的文件或流中。 使用此方法将多帧图像中的选定帧保存到另一个多帧图像。(继承自 Image)
SaveAdd(Image, EncoderParameters)将帧添加到上次对 Save 方法调用时所指定的文件或流中。(继承自 Image)
SelectActiveFrame(FrameDimension, Int32)选择由维度和索引指定的帧。(继承自 Image)
SetPixel(Int32, Int32, Color)在此 Bitmap 中设置指定像素的颜色。
SetPropertyItem(PropertyItem)在此 Image 中存储一个属性项(元数据片)。(继承自 Image)
SetResolution(Single, Single)设置此 Bitmap 的分辨率。
ToString()返回表示当前对象的字符串。(继承自 Object)
UnlockBits(BitmapData)从系统内存解锁此 Bitmap

2.PictureBox

PictureBox是图像框控件,用来显示一个图像,如下所示

image-20250109161258800

2.1 属性

属性名数据类型可选值默认值描述
SizeModeenumPictureBoxSizeMode.Normal
PictureBoxSizeMode.StretchImage
PictureBoxSizeMode. AutoSize
PictureBoxSizeMode.CenterImage
PictureBoxSizeMode.ZoomNormal设置图片的显示尺寸模式
Normal:调整 PictureBox 大小,使其等于所包含的图像大小。
StretchImage:如果 PictureBox 比图像大,则图像将居中显示。 如果图像比 PictureBox 大,则图片将居于 PictureBox 中心,而外边缘将被剪裁掉。
AutoSize:图像被置于 PictureBox 的左上角。 如果图像比包含它的 PictureBox 大,则该图像将被剪裁掉。
CenterImage:PictureBox 中的图像被拉伸或收缩,以适合 PictureBox 的大小。
Zoom:图像大小按其原有的大小比例被增加或减小。

3.显示图像

3.1 使用Bitmap

使用Bitmap加载一个图片,赋值给pictureBox1的Image属性

c#
Bitmap img = new Bitmap("D:\\img.png");

pictureBox1.Image = img;
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;

3.2 使用Load方法

c#
pictureBox1.Load("D:\\img.png");
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;

WARNING

注意图片的路径,分隔符要用反斜杠\,而且要用两个,第一个用来转义

txt
"D:\\img\\img.png"    √
"D:/img/img.png"   ×

3.3 编辑器添加

在编辑器中找到Image属性,打开之后可以导入图片

image-20250109163253101

MIT Licensed