System.Drawing.Drawing2D 命名空間

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

類別

名稱 Description
AdjustableArrowCap

代表可調整的箭頭形線帽。 此類別無法獲得繼承。

Blend

定義物件的混合模式 LinearGradientBrush 。 此類別無法獲得繼承。

ColorBlend

定義用於插值多色漸變色彩混合的顏色陣列與位置。 此類別無法獲得繼承。

CustomLineCap

封裝自定義使用者定義的行上限。

GraphicsContainer

代表圖形容器的內部資料。 此類別用於使用 Graphics and BeginContainer() 方法儲存物件狀態EndContainer(GraphicsContainer)。 此類別無法獲得繼承。

GraphicsPath

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

GraphicsPathIterator

提供在 a GraphicsPath 中遍歷子路徑並測試每個子路徑中形狀類型的能力。 此類別無法獲得繼承。

GraphicsState

代表物件 Graphics 的狀態。 這個物件會透過呼叫方法 Save() 來回傳。 此類別無法獲得繼承。

HatchBrush

定義一種矩形筆刷,具有陰影風格、前景色和背景色。 此類別無法獲得繼承。

LinearGradientBrush

以線性梯度封裝 a Brush 。 此類別無法獲得繼承。

Matrix

封裝代表幾何轉換的 3 by-3 仿射矩陣。 此類別無法獲得繼承。

PathData

包含構成 GraphicsPath 物件的圖形資料。 此類別無法獲得繼承。

PathGradientBrush

封 Brush 裝一個物 GraphicsPath 體,該物體內部被梯度填滿。 此類別無法獲得繼承。

RegionData

封裝構成物件 Region 的資料。 此類別無法獲得繼承。

列舉

名稱 Description
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+ 原生函式庫,該函式庫作為作業系統一部分出廠。 部分 Windows SKU,如 Windows Server Core 或 Windows Nano,並不包含這個原生函式庫作為作業系統的一部分。 如果你使用這個命名空間且無法載入函式庫,執行時會拋出例外。

  • 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.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。 欲了解更多資訊,請參閱 LinuxInstall >.NET <或 macOSInstall .NET>。

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

如果你無法在應用程式中使用System.Drawing,推薦的替代方案包括ImageSharp、SkiaSharp、Windows Imaging Components 以及 Microsoft。茂宜島。圖像。

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

車級分類 Details
- 圖形與圖形路徑 和GraphicsState類別GraphicsContainer則回報當前Graphics物件的資訊。 GraphicsPath 類別代表一系列線條與曲線。 GraphicsPathIterator與PathData類別提供物件內容GraphicsPath的詳細資訊。
- 矩陣與轉換相關類型 該 Matrix 類別代表一個幾何變換的矩陣。 列 MatrixOrder 舉定義矩陣變換的順序。
- 刷子類別 PathGradientBrush和HatchBrush類別分別讓你用漸層或陰影圖案填充形狀。
- 與直線相關的枚舉 LineCap和CustomLineCap列舉可以讓你指定線的上限樣式。 LineJoin列舉功能讓你能指定兩條線如何在路徑中相連。 PenAlignment列舉功能讓你在畫線時指定繪圖尖端的對齊位置。 PenType列舉指定了一條直線應該填入的模式。
- 與填充形狀與路徑相關的枚舉 列HatchStyle舉指定了 的填充風格。HatchBrush 該Blend類別指定了 一個混合模式。LinearGradientBrush 列FillMode舉指定了 的填充風格。GraphicsPath

注意事項

System.Drawing.Drawing2D 命名空間中的類別不支援用於 Windows 或 ASP.NET 服務。 嘗試在這些應用程式類型中使用這些類別可能會產生意想不到的問題,例如服務效能下降及執行時異常。

另請參閱