System.Drawing.Drawing2D 命名空间

提供高级二维和矢量图形功能。

名称 说明
AdjustableArrowCap

表示可调整的箭头形线条帽。 此类不能被继承。

Blend

定义对象的混合模式 LinearGradientBrush 。 此类不能被继承。

ColorBlend

定义用于在多色渐变中内插颜色混合的颜色和位置数组。 此类不能被继承。

CustomLineCap

封装自定义用户定义的行帽。

GraphicsContainer

表示图形容器的内部数据。 使用和EndContainer(GraphicsContainer)方法保存对象的BeginContainer()状态Graphics时,将使用此类。 此类不能被继承。

GraphicsPath

表示一系列连接的线条和曲线。 此类不能被继承。

GraphicsPathIterator

提供循环访问子 GraphicsPath 路径的功能,并测试每个子路径中包含的形状类型。 此类不能被继承。

GraphicsState

表示对象的状态 Graphics 。 此对象由对方法的 Save() 调用返回。 此类不能被继承。

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.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。 有关详细信息,请参阅 macOS 上的 install .NETinstall .NET

  • 在 .NET 6 及更高版本中,System.Drawing.Common NuGet 包仅在Windows操作系统上受支持。 有关详细信息,请参阅 仅在 Windows 上支持的 System.Drawing.Common。

如果无法对应用程序使用 System.Drawing, 建议的替代项包括 ImageSharpSkiaSharpWindows Imaging ComponentsMicrosoft。Maui.Graphics

下表列出了命名空间中的 System.Drawing.Drawing2D 一些重要类和枚举,这些类分组为类别。

类类别 详细信息
- 图形和图形路径 GraphicsStateGraphicsContainer类报告有关当前Graphics对象的信息。 GraphicsPath 类表示一系列直线和曲线。 这些 GraphicsPathIteratorPathData 类提供有关对象内容 GraphicsPath 的详细信息。
- 矩阵和转换相关类型 Matrix 类表示几何转换的矩阵。 MatrixOrder枚举指定矩阵转换的顺序。
- 画笔类 使用 PathGradientBrushHatchBrush 类可以分别使用渐变或阴影图案填充形状。
- 与行相关的枚举 CustomLineCap通过LineCap枚举可以指定线条的上限样式。 LineJoin通过枚举,可以指定如何在路径中联接两行。 通过 PenAlignment 枚举,可以在绘制线条时指定绘图提示的对齐方式。 枚举 PenType 指定应填充线条的模式。
- 与填充形状和路径相关的枚举 枚举HatchStyle指定填充样式。HatchBrushBlend 指定一个 LinearGradientBrush混合模式。 FillMode枚举指定一个GraphicsPath填充样式。

Caution

不支持在 Windows 或 ASP.NET 服务中使用 System.Drawing.Drawing2D 命名空间中的类。 尝试在这些应用程序类型之一中使用这些类可能会导致意外问题,例如服务性能下降和运行时异常。

另请参阅