System.Drawing.Drawing2D 命名空間

提供進階二維和向量圖形功能。

類別

AdjustableArrowCap

表示可調整的箭號形狀的線條端點。 此類別無法獲得繼承。

Blend

定義 LinearGradientBrush 物件的漸變圖樣。 此類別無法獲得繼承。

ColorBlend

定義用於多色漸層的變化色彩漸變之色彩和位置陣列。 此類別無法獲得繼承。

CustomLineCap

封裝自訂的使用者定義線條端點。

GraphicsContainer

表示圖形容器 (Container) 的內部資料。 當使用 GraphicsBeginContainer() 方法儲存 EndContainer(GraphicsContainer) 物件的狀態時,會使用這個類別。 此類別無法獲得繼承。

GraphicsPath

表示一系列連接的直線和曲線。 此類別無法獲得繼承。

GraphicsPathIterator

提供在 GraphicsPath 中逐一查看子路徑,並測試每個子路徑中含有之形狀類型的功能。 此類別無法獲得繼承。

GraphicsState

表示 Graphics 物件的狀態。 這個物件是由 Save() 方法的呼叫所傳回的。 此類別無法獲得繼承。

HatchBrush

使用規劃樣式、前景色彩和背景色彩來定義矩形筆刷。 此類別無法獲得繼承。

LinearGradientBrush

使用線形漸層封裝 Brush。 此類別無法獲得繼承。

Matrix

封裝代表幾何轉換的 3 乘 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

指定在紋理或漸層小於要填滿的區域時的拼接方式。

備註

警告

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。 如需詳細資訊,請參閱 在 Linux 上安裝 .NET 或在 macOS 上安裝 .NET

  • 在 .NET 6 和更新版本中,只有 Windows 作業系統才支援 System.Drawing.Common NuGet 套件。 如需詳細資訊,請參閱 僅限 Windows 上支援的 System.Drawing.Common

如果您無法搭配應用程式使用 System.Drawing ,建議的替代方案包括 ImageSharpSkiaSharpWindows Imaging ComponentsMicrosoft.Maui.Graphics

下表列出命名空間中的 System.Drawing.Drawing2D 一些重要類別和列舉,並分組為類別。

類別類別目錄 詳細資料
- 圖形和圖形路徑 GraphicsStateGraphicsContainer 類別會報告目前 Graphics 物件的相關資訊。 GraphicsPath 類別代表一系列的線條和曲線。 GraphicsPathIteratorPathData 類別提供 物件內容 GraphicsPath 的詳細資訊。
- 矩陣和轉換相關類型 類別 Matrix 代表幾何轉換的矩陣。 列舉 MatrixOrder 會指定矩陣轉換的順序。
- 筆刷類別 PathGradientBrushHatchBrush 類別可讓您分別以漸層或影線圖樣填滿圖形。
- 與行相關的列舉 LineCapCustomLineCap 列舉可讓您指定線條的上限樣式。 LineJoin列舉可讓您指定如何在路徑中聯結兩行。 列舉 PenAlignment 可讓您在繪製線條時指定繪圖提示的對齊方式。 列舉 PenType 會指定線條應該填滿的模式。
- 與填滿圖形和路徑相關的列舉 列舉 HatchStyle 會指定 的 HatchBrush 填滿樣式。 類別 Blend 會指定 的 LinearGradientBrush 混合模式。 列舉 FillMode 會指定 的 GraphicsPath 填滿樣式。

警告

命名空間中的 System.Drawing.Drawing2D 類別不支援在 Windows 或 ASP.NET 服務中使用。 嘗試在這些應用程式類型之一中使用這些類別可能會產生非預期的問題,例如服務效能降低和執行時間例外狀況。

另請參閱