System.Drawing.Drawing2D 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供高级二维和矢量图形功能。
类
| 名称 | 说明 |
|---|---|
| AdjustableArrowCap |
表示可调整的箭头形线条帽。 此类不能被继承。 |
| Blend |
定义对象的混合模式 LinearGradientBrush 。 此类不能被继承。 |
| ColorBlend |
定义用于在多色渐变中内插颜色混合的颜色和位置数组。 此类不能被继承。 |
| CustomLineCap |
封装自定义用户定义的行帽。 |
| GraphicsContainer |
表示图形容器的内部数据。 使用和EndContainer(GraphicsContainer)方法保存对象的BeginContainer()状态Graphics时,将使用此类。 此类不能被继承。 |
| GraphicsPath |
表示一系列连接的线条和曲线。 此类不能被继承。 |
| GraphicsPathIterator |
提供循环访问子 GraphicsPath 路径的功能,并测试每个子路径中包含的形状类型。 此类不能被继承。 |
| GraphicsState | |
| HatchBrush |
定义具有阴影样式、前景色和背景色的矩形画笔。 此类不能被继承。 |
| LinearGradientBrush |
使用线性渐变封装 a Brush 。 此类不能被继承。 |
| Matrix |
封装表示几何变换的 3 by-3 相交矩阵。 此类不能被继承。 |
| 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 |
指定纹理或渐变在小于填充区域的平铺方式。 |
注解
Caution
命名空间 System.Drawing 在某些操作系统和应用程序类型上存在一些限制。
在Windows,
System.Drawing取决于 GDI+ 本机库,该库作为 OS 的一部分提供。 某些Windows SKU(如 Windows Server Core 或 Windows Nano)不包括此本机库作为 OS 的一部分。 如果使用此命名空间,并且无法加载库,则会在运行时引发异常。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.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。 有关详细信息,请参阅 macOS 上的 install .NET 或 install .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 一些重要类和枚举,这些类分组为类别。
| 类类别 | 详细信息 |
|---|---|
| - 图形和图形路径 | 和GraphicsStateGraphicsContainer类报告有关当前Graphics对象的信息。
GraphicsPath 类表示一系列直线和曲线。 这些 GraphicsPathIterator 和 PathData 类提供有关对象内容 GraphicsPath 的详细信息。 |
| - 矩阵和转换相关类型 | 该 Matrix 类表示几何转换的矩阵。 MatrixOrder枚举指定矩阵转换的顺序。 |
| - 画笔类 | 使用 PathGradientBrush 和 HatchBrush 类可以分别使用渐变或阴影图案填充形状。 |
| - 与行相关的枚举 | CustomLineCap通过LineCap枚举可以指定线条的上限样式。 LineJoin通过枚举,可以指定如何在路径中联接两行。 通过 PenAlignment 枚举,可以在绘制线条时指定绘图提示的对齐方式。 枚举 PenType 指定应填充线条的模式。 |
| - 与填充形状和路径相关的枚举 | 枚举HatchStyle指定填充样式。HatchBrush 类 Blend 指定一个 LinearGradientBrush混合模式。 FillMode枚举指定一个GraphicsPath填充样式。 |
Caution
不支持在 Windows 或 ASP.NET 服务中使用 System.Drawing.Drawing2D 命名空间中的类。 尝试在这些应用程序类型之一中使用这些类可能会导致意外问题,例如服务性能下降和运行时异常。