System.Drawing 命名空间

提供对 GDI + 基本图形功能的访问权限。 System.Drawing.Drawing2DSystem.Drawing.ImagingSystem.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

为源自 BitmapMetafile 的类提供功能的抽象基类。

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

存储一个有序整数对,用于指定 HeightWidth

SizeF

存储有序浮点数对,通常为矩形的宽度和高度。

接口

IDeviceContext

定义用于获取并释放 Windows 设备上下文的现有图柄的方法。

枚举

ContentAlignment

指定绘图表面上内容的对齐方式。

CopyPixelOperation

确定复制像素操作中的源颜色如何与目标颜色组合生成最终颜色。

FontStyle

指定应用到文本的字形信息。

GraphicsUnit

指定给定数据的度量单位。

KnownColor

指定已知的系统颜色。

RotateFlipType

指定图像的旋转程度和用于翻转图像的轴。

StockIconId

提供用于 的 GetStockIcon(StockIconId, StockIconOptions)图标标识符。

StockIconOptions

提供用于 GetStockIcon(StockIconId, 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.BitmapSystem.Drawing.Font。 但是,命名空间中的基元类型(如 System.Drawing.ColorSystem.Drawing.SizeSystem.Drawing.PointSystem.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 ,建议的替代项包括 ImageSharpSkiaSharpWindows Imaging ComponentsMicrosoft.Maui.Graphics

Graphics 提供用于绘制到显示设备的方法。 类(如 RectanglePoint )封装 GDI+ 基元。 类 Pen 用于绘制线条和曲线,而派生自抽象类的类 Brush 用于填充形状的内部。