System.Drawing.Imaging 命名空間
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供進階 GDI+ 影像處理功能。 基本圖形功能是由 System.Drawing 命名空間所提供。
類別
BitmapData |
指定點陣圖影像的屬性 (Attribute)。 BitmapData 類別是由 LockBits 類別的 UnlockBits(BitmapData) 和 Bitmap 方法所使用。 無法被繼承。 |
CachedBitmap |
表示符合指定 Graphics 物件目前裝置的裝置相依複本 Bitmap , (顯示) 設定。 避免轉譯時重新格式化步驟,這可大幅改善效能。 |
ColorMap |
定義轉換色彩的對應。 ImageAttributes 類別的數個方法會藉由使用色彩重新對應表 (這是 ColorMap 結構的陣列) 來調整影像色彩。 無法被繼承。 |
ColorMatrix |
定義含有 RGBAW 空間座標的 5 x 5 矩陣。 ImageAttributes 類別的多個方法會使用色彩矩陣來調整影像色彩。 此類別無法獲得繼承。 |
ColorPalette |
定義組成色板的色彩陣列。 色彩為 32 位元 ARGB 色彩。 無法被繼承。 |
Encoder |
Encoder 物件會封裝全域唯一識別項 (GUID),這個識別項識別影像編碼器參數的分類。 |
EncoderParameter |
用於將值或值的陣列傳遞至影像編碼器。 |
EncoderParameters |
封裝 EncoderParameter 物件的陣列。 |
FrameDimension |
提供取得影像框架大小的屬性。 無法被繼承。 |
ImageAttributes |
包含如何在呈現期間操作點陣圖和中繼檔色彩的相關資訊。 |
ImageCodecInfo |
ImageCodecInfo 類別提供必要的儲存成員和方法,以擷取已安裝之影像編碼器和解碼器 (稱為轉碼器) 的所有相關資訊。 無法被繼承。 |
ImageFormat |
指定影像的檔案格式。 無法被繼承。 |
Metafile |
定義圖形中繼檔 (Metafile)。 中繼檔,包含用在說明一系列可記錄 (建構) 和重播 (顯示) 之圖形操作的記錄。 這個類別是不可繼承的。 |
MetafileHeader |
含有關聯之 Metafile 的屬性。 無法被繼承。 |
MetaHeader |
含有 Windows 格式 (WMF) 中繼檔 (Metafile) 的資訊。 |
PropertyItem |
封裝中繼資料 (Metadata) 屬性來包括在影像檔中。 無法被繼承。 |
WmfPlaceableFileHeader |
定義可置入中繼檔 (Metafile)。 無法被繼承。 |
列舉
ColorAdjustType |
指定哪個 GDI+ 物件使用色彩調整資訊。 |
ColorChannelFlag |
指定 CMYK (青、洋紅、黃、黑) 色彩空間中的個別色頻。 這個列舉型別 (Enumeration) 是由 SetOutputChannel 方法所使用。 |
ColorMapType |
指定色彩對應的型別。 |
ColorMatrixFlag |
指定將受到 ImageAttributes 的色彩和灰階調整所影響的影像和色彩類型。 |
ColorMode |
指定色彩元件值的兩種模式。 |
DitherType |
提供進階 GDI+ 影像處理功能。 基本圖形功能是由 System.Drawing 命名空間所提供。 |
EmfPlusRecordType |
指定與要讀取和寫入圖形指令的中繼檔 (Metafile) 一起使用的方法。 |
EmfType |
指定放置在加強型中繼檔 (EMF) 中的記錄性質。 Metafile 類別中的數個建構函式會使用此列舉型別。 |
EncoderParameterValueType |
指定搭配影像的 Save 或 SaveAdd 方法使用之 EncoderParameter 的資料類型。 |
EncoderValue |
使用 Save(String, ImageCodecInfo, EncoderParameters) 或 SaveAdd(EncoderParameters) 方法時,用於指定要傳遞至 JPEG 或 TIFF 影像編碼器的參數值。 |
ImageCodecFlags |
提供影像編碼器/解碼器 (轉碼器) 的屬性。 |
ImageFlags | |
ImageLockMode |
指定傳遞至 LockBits 方法的旗標參數之旗標。 LockBits 方法會鎖定影像的部分,以便您可以讀取或寫入像素資料。 |
MetafileFrameUnit |
指定用來調整中繼檔 (Metafile) 大小和位置的矩形度量單位。 這會在 Metafile 物件的建立期間加以指定。 |
MetafileType |
指定中繼檔 (Metafile) 的類型。 Type 屬性會傳回此列舉型別的成員。 |
PaletteFlags |
指定在系統調色盤 (Palette) 中色彩日期的型別。 資料可以是有 Alpha 值、僅灰階資料或半色調資料的色彩資料。 |
PaletteType |
提供進階 GDI+ 影像處理功能。 基本圖形功能是由 System.Drawing 命名空間所提供。 |
PixelFormat |
指定影像中每個像素的色彩資料格式。 |
委派
PlayRecordCallback |
不使用這個委派。 如需列舉中繼檔 (Metafile) 記錄的範例,請參閱 EnumerateMetafile(Metafile, Point, Graphics+EnumerateMetafileProc)。 |
備註
注意
System.Drawing
命名空間在某些作業系統和應用程式類型有一些限制。
在 Windows 上,
System.Drawing
取決於隨附于 OS 的 GDI+ 原生程式庫。 某些 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.SizeSystem.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 和更新版本中,只有 Windows 作業系統才支援 System.Drawing.Common NuGet 套件。 如需詳細資訊,請參閱 僅限 Windows 上支援的 System.Drawing.Common。
如果您無法搭配應用程式使用 System.Drawing
,建議的替代方案包括 ImageSharp、 SkiaSharp、 Windows Imaging Components和 Microsoft.Maui.Graphics。
類別 Metafile 提供錄製和儲存中繼檔的方法。 類別 Encoder 可讓使用者擴充 GDI+ 以支援任何影像格式。 類別 PropertyItem 提供在影像檔案中儲存和擷取中繼資料的方法。
注意
命名空間內的 System.Drawing.Imaging 類別不支援在 Windows 或 ASP.NET 服務中使用。 嘗試從其中一個應用程式類型內使用這些類別可能會產生非預期的問題,例如服務效能降低和執行時間例外狀況。