System.Drawing.Drawing2D 命名空间  
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供高级二维和矢量图形功能。
类
| AdjustableArrowCap | 表示可调整的箭头形状的线的末端。 此类不能被继承。 | 
| Blend | 定义 LinearGradientBrush 对象的混合图案。 此类不能被继承。 | 
| ColorBlend | 定义用于在多色渐变中以内插值取代颜色混合的颜色和位置的数组。 此类不能被继承。 | 
| CustomLineCap | 封装自定义的用户定义的线帽。 | 
| GraphicsContainer | 表示图形容器的内部数据。 当使用 Graphics 和 BeginContainer() 方法保存 EndContainer(GraphicsContainer) 对象的状态时使用此类。 此类不能被继承。 | 
| GraphicsPath | 表示一系列相互连接的直线和曲线。 此类不能被继承。 | 
| GraphicsPathIterator | 提供循环访问 GraphicsPath 中的子路径并测试每一子路径中包含的形状类型的能力。 此类不能被继承。 | 
| GraphicsState | |
| HatchBrush | 用阴影样式、前景色和背景色定义矩形画笔。 此类不能被继承。 | 
| LinearGradientBrush | 使用线性渐变封装 Brush。 此类不能被继承。 | 
| Matrix | 封装表示几何变换的 3x3 仿射矩阵。 此类不能被继承。 | 
| PathData | 包含构成 GraphicsPath 对象的图形数据。 此类不能被继承。 | 
| PathGradientBrush | 封装 Brush 对象,它通过渐变填充 GraphicsPath 对象的内部。 此类不能被继承。 | 
| RegionData | 封装构成 Region 对象的数据。 此类不能被继承。 | 
枚举
| CombineMode | 指定如何组合不同的剪辑区域。 | 
| CompositingMode | 指定源色与背景色组合的方式。 | 
| CompositingQuality | 指定在复合期间使用的质量等级。 | 
| CoordinateSpace | 指定计算坐标时使用的系统。 | 
| DashCap | 指定虚线中在每一划线段的两端使用的图形形状的类型。 | 
| DashStyle | 指定用 Pen 对象绘制的虚线的样式。 | 
| FillMode | 指定如何填充闭合路径的内部。 | 
| FlushIntention | 指定是立即终止(刷新)还是尽快执行图形堆栈中的命令。 | 
| HatchStyle | 指定可用于 HatchBrush 对象的不同图案。 | 
| InterpolationMode | InterpolationMode 枚举指定在缩放或旋转图像时使用的算法。 | 
| LinearGradientMode | 指定线性渐变的方向。 | 
| LineCap | 指定可用线帽样式,Pen 对象以该线帽结束一段直线。 | 
| LineJoin | 指定如何在图形(子路径)中联接连续的直线或曲线段,该图形(子路径)包含在 GraphicsPath 对象中。 | 
| MatrixOrder | 指定矩阵转换操作的顺序。 | 
| PathPointType | 指定 GraphicsPath 对象中点的类型。 | 
| PenAlignment | 指定相对于理论上、零宽度的线条的 Pen 对象的对齐方式。 | 
| PenType | 指定用来填充直线的 Pen 对象填充类型。 | 
| PixelOffsetMode | 指定在呈现期间像素偏移的方式。 | 
| QualityMode | 指定呈现 GDI+ 对象时的总体质量。 | 
| SmoothingMode | 指定是否将平滑处理(抗锯齿)应用于直线、曲线和已填充区域的边缘。 | 
| WarpMode | 指定在 Warp 方法中应用的环绕变换的类型。 | 
| WrapMode | 指定当纹理或渐变小于所填充的区域时平铺纹理或渐变的方式。 | 
注解
注意
命名空间 System.Drawing 对某些操作系统和应用程序类型有一些限制。
- 在 Windows 上, - System.Drawing依赖于作为 OS 的一部分提供的 GDI+ 本机库。 某些 Windows SKU(如 Windows Server Core 或 Windows Nano)不包括此本机库作为 OS 的一部分。 如果使用此命名空间并且无法加载库,则会在运行时引发异常。
- 命名空间中的 - System.Drawing某些类型依赖于 GDI+,而 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 操作系统上受支持。 有关详细信息,请参阅 仅在 Windows 上支持 System.Drawing.Common。 
如果无法与应用程序一起使用 System.Drawing ,建议的替代方案包括 ImageSharp、 SkiaSharp、 Windows Imaging Components 和 Microsoft.Maui.Graphics。
下表列出了命名空间中的 System.Drawing.Drawing2D 一些重要类和枚举,这些类和枚举按类别分组。
| 类类别 | 详细信息 | 
|---|---|
| - 图形和图形路径 | GraphicsState和 GraphicsContainer 类报告有关当前 Graphics对象的信息。 
              GraphicsPath 类表示一系列线条和曲线。 
              GraphicsPathIterator和 PathData 类提供有关对象内容GraphicsPath的详细信息。 | 
| - 矩阵和转换相关类型 | 类 Matrix 表示几何转换的矩阵。 枚举 MatrixOrder 指定矩阵转换的顺序。 | 
| - 画笔类 | PathGradientBrush和 HatchBrush 类使你能够分别使用渐变或阴影图案填充形状。 | 
| - 与行相关的枚举 | 和 LineCapCustomLineCap 枚举使你能够指定线条的上限样式。 LineJoin枚举使你能够指定如何在路径中联接两行。 通过 PenAlignment 枚举,可以在绘制线条时指定绘图笔尖的对齐方式。 PenType枚举指定线条应填充的模式。 | 
| - 与填充形状和路径相关的枚举 | HatchStyle枚举指定 的HatchBrush填充样式。 类 Blend 为 指定混合模式 LinearGradientBrush。 FillMode枚举指定 的GraphicsPath填充样式。 | 
注意
命名空间中的 System.Drawing.Drawing2D 类不支持在 Windows 或 ASP.NET 服务中使用。 尝试在这些应用程序类型之一中使用这些类可能会产生意外问题,例如服务性能降低和运行时异常。