System.Drawing 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对 GDI + 基本图形功能的访问权限。 System.Drawing.Drawing2D、 System.Drawing.Imaging和 System.Drawing.Text 命名空间提供更高级的功能。 有关限制,请参阅“备注”部分。
类
Bitmap |
封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。 Bitmap 是用于处理由像素数据定义的图像的对象。 |
BitmapSuffixInSameAssemblyAttribute |
指定,当解释 ToolboxBitmapAttribute 声明时,程序集应在同样的程序集中的资源查找,但是,与 BitmapSuffix 配置值追加到该声明的文件名。 |
BitmapSuffixInSatelliteAssemblyAttribute |
指定,当解释 ToolboxBitmapAttribute 声明时,程序集应在附属程序集中的资源查找,但是,与 BitmapSuffix 配置值追加到该声明的文件名。 |
Brush |
定义用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部的对象。 |
Brushes |
所有标准颜色的画笔。 此类不能被继承。 |
BufferedGraphics |
为双缓冲提供图形缓冲区。 |
BufferedGraphicsContext |
提供创建图形缓冲区的方法,该缓冲区可用于双缓冲。 |
BufferedGraphicsManager |
提供对应用程序域的主缓冲图形上下文对象的访问。 |
ColorConverter |
将颜色从一种数据类型转换为另一种数据类型。 通过 TypeDescriptor 访问此类。 |
ColorTranslator |
将颜色翻译成 GDI+ Color 结构并从该结构翻译颜色。 此类不能被继承。 |
Font |
定义特定的文本格式,包括字体、字号和样式特性。 此类不能被继承。 |
FontConverter |
将 Font 对象从一种数据类型转换成另一种数据类型。 |
FontConverter.FontNameConverter |
FontConverter.FontNameConverter 是一个类型转换器,用于在字体名称与其他各种表示形式之间进行转换。 |
FontConverter.FontUnitConverter |
将字体单位与其他单位类型进行转换。 |
FontFamily |
定义有着相似的基本设计但在形式上有某些差异的一组字样。 此类不能被继承。 |
Graphics |
封装一个 GDI+ 绘图图面。 此类不能被继承。 |
Icon |
表示 Windows 图标,它是用于表示对象的小位图图像。 尽管图标的大小由系统决定,但仍可将其视为透明的位图。 |
IconConverter |
将 Icon 对象从一种数据类型转换到另一种数据类型。 通过 TypeDescriptor 对象访问此类。 |
Image | |
ImageAnimator |
动画处理包含基于时间的帧的图像。 |
ImageConverter |
ImageConverter 是一个类,可用于将 Image 对象从一种数据类型转换为另一种数据类型。 通过 TypeDescriptor 对象访问此类。 |
ImageFormatConverter |
ImageFormatConverter 是一个类,可用于将 ImageFormat 对象从一种数据类型转换为另一种数据类型。 通过 TypeDescriptor 对象访问此类。 |
Pen |
定义用于绘制直线和曲线的对象。 此类不能被继承。 |
Pens |
所有标准颜色的钢笔。 此类不能被继承。 |
PointConverter |
将 Point 对象从一种数据类型转换为另一种数据类型。 |
RectangleConverter |
将矩形从一种数据类型转换为另一种数据类型。 通过 TypeDescriptor 访问此类。 |
Region |
指示由矩形和由路径构成的图形形状的内部。 此类不能被继承。 |
SizeConverter |
SizeConverter 类用于从一种数据类型转换为另一种类型。 通过 TypeDescriptor 对象访问此类。 |
SizeFConverter |
将 SizeF 对象从一种类型转换成另一种类型。 |
SolidBrush |
定义单色画笔。 画笔用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。 此类不能被继承。 |
StringFormat |
封装文本布局信息(如对齐方式、方向和制表位)、显示操作(如省略号插入和区域数字替换)和 OpenType 功能。 此类不能被继承。 |
SystemBrushes |
SystemBrushes 类的每个属性都是一个 SolidBrush,它是 Windows 显示元素的颜色。 |
SystemColors |
SystemColors 类的每个属性都是 Color 结构,这种结构是 Windows 显示元素的颜色。 |
SystemFonts |
指定用于在 Windows 显示元素中显示文本的字体。 |
SystemIcons |
SystemIcons 类的每个属性都是 Windows 系统级图标的 Icon 对象。 此类不能被继承。 |
SystemPens |
SystemPens 类的每个属性都是一个 Pen,它是 Windows 显示元素的颜色,宽度为 1 个像素。 |
TextureBrush |
TextureBrush 类的每个属性都是 Brush 对象,这种对象使用图像来填充形状的内部。 此类不能被继承。 |
ToolboxBitmapAttribute |
这使您可以指定一个图标来表示容器的控件,例如 Microsoft Visual Studio 窗体设计器。 |
结构
CharacterRange |
指定字符串内字符位置的范围。 |
Color |
表示一种 ARGB 颜色(alpha、红色、绿色、蓝色)。 |
Point |
提供有序的 x 坐标和 y 坐标整数对,该坐标对在二维平面中定义一个点。 |
PointF |
表示在二维平面中定义点的浮点 x 和 y 坐标的有序对。 |
Rectangle |
存储一组整数,共四个,表示一个矩形的位置和大小。 |
RectangleF |
存储一组浮点数,共四个,表示一个矩形的位置和大小。 对于更高级的区域函数,请使用 Region 对象。 |
Size | |
SizeF |
存储有序浮点数对,通常为矩形的宽度和高度。 |
接口
IDeviceContext |
定义用于获取并释放 Windows 设备上下文的现有图柄的方法。 |
枚举
ContentAlignment |
指定绘图表面上内容的对齐方式。 |
CopyPixelOperation |
确定复制像素操作中的源颜色如何与目标颜色组合生成最终颜色。 |
FontStyle |
指定应用到文本的字形信息。 |
GraphicsUnit |
指定给定数据的度量单位。 |
KnownColor |
指定已知的系统颜色。 |
RotateFlipType |
指定图像的旋转程度和用于翻转图像的轴。 |
StockIconId |
提供用于 的 GetStockIcon(StockIconId, StockIconOptions)图标标识符。 |
StockIconOptions | |
StringAlignment |
指定文本字符串相对于其布局矩形的对齐方式。 |
StringDigitSubstitute |
StringDigitSubstitute 枚举指定如何按照用户的区域设置或语言替换字符串中的数字位。 |
StringFormatFlags |
指定文本字符串的显示和布局信息。 |
StringTrimming |
指定如何在不完全适合布局形状的字符串中修整字符。 |
StringUnit |
指定文本字符串的度量单位。 |
委托
Graphics.DrawImageAbort |
提供一个回调方法,用于决定 DrawImage 方法应何时过早地取消执行并停止绘制图像。 |
Graphics.EnumerateMetafileProc |
为 EnumerateMetafile 方法提供回调方法。 |
Image.GetThumbnailImageAbort |
提供一个回叫方法,用于确定 GetThumbnailImage(Int32, Int32, Image+GetThumbnailImageAbort, IntPtr) 方法应在何时提前取消执行。 |
注解
注意
命名空间 System.Drawing
对某些操作系统和应用程序类型有一些限制。
在 Windows 上,
System.Drawing
依赖于作为 OS 的一部分提供的 GDI+ 本机库。 某些 Windows SKU(如 Windows Server Core 或 Windows Nano)不包括此本机库作为操作系统的一部分。 如果使用此命名空间并且无法加载库,则会在运行时引发异常。命名空间中的
System.Drawing
某些类型依赖于 GDI+,这在 Windows 服务和 ASP.NET Core和 ASP.NET 应用中不受支持。 这些类型位于 System.Drawing.Common NuGet 包中,包括 System.Drawing.Bitmap 和 System.Drawing.Font。 但是,命名空间中的基元类型(如 System.Drawing.Color、 System.Drawing.Size、 System.Drawing.Point和 System.Drawing.Rectangle)可用于任何应用程序。在 .NET 5 和早期版本中, System.Drawing.Common NuGet 包适用于 Windows、Linux 和 macOS。 但是,存在一些平台差异。 在 Linux 和 macOS 上,GDI+ 功能由 libgdiplus) 库实现。 默认情况下,此库不会安装在大多数 Linux 发行版中,并且不支持 Windows 和 macOS 上的 GDI+ 的所有功能。 还有一些平台 libgdiplus 根本不可用。 若要在 Linux 和 macOS 上使用 System.Drawing.Common 包中的类型,必须单独安装 libgdiplus。 有关详细信息,请参阅 在 Linux 上安装 .NET 或在 macOS 上安装 .NET。
在 .NET 6 及更高版本中, System.Drawing.Common NuGet 包仅在 Windows 操作系统上受支持。 有关详细信息,请参阅 System.Drawing.Common 仅在 Windows 上受支持。
如果无法与应用程序一起使用 System.Drawing
,建议的替代项包括 ImageSharp、 SkiaSharp、 Windows Imaging Components 和 Microsoft.Maui.Graphics。
类 Graphics 提供用于绘制到显示设备的方法。 类(如 Rectangle 和 Point )封装 GDI+ 基元。 类 Pen 用于绘制线条和曲线,而派生自抽象类的类 Brush 用于填充形状的内部。