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 服务中使用。 尝试在这些应用程序类型之一中使用这些类可能会产生意外问题,例如服务性能降低和运行时异常。