ImageAttributes 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含如何在呈現期間操作點陣圖和中繼檔色彩的相關資訊。
public ref class ImageAttributes sealed : ICloneable, IDisposable
public sealed class ImageAttributes : ICloneable, IDisposable
type ImageAttributes = class
interface ICloneable
interface IDisposable
Public NotInheritable Class ImageAttributes
Implements ICloneable, IDisposable
- 繼承
-
ImageAttributes
- 實作
範例
下列範例會擷取一個影像,該影像全都 (0.2、0.0、0.4、1.0) ,而紅色元件會將0.2加到紅色、綠色和藍色元件。
下圖顯示左側的原始影像,以及右側已轉換的影像。
範例中的程式代碼會使用下列步驟來執行重新著色:
ColorMatrix初始化物件。
ImageAttributes Create 物件,ColorMatrix並將 對象傳遞至 SetColorMatrix 物件的方法ImageAttributes。
將 ImageAttributes 對象傳遞至 DrawImage 物件的方法 Graphics 。
Image image = new Bitmap("InputColor.bmp");
ImageAttributes imageAttributes = new ImageAttributes();
int width = image.Width;
int height = image.Height;
float[][] colorMatrixElements = {
new float[] {2, 0, 0, 0, 0}, // red scaling factor of 2
new float[] {0, 1, 0, 0, 0}, // green scaling factor of 1
new float[] {0, 0, 1, 0, 0}, // blue scaling factor of 1
new float[] {0, 0, 0, 1, 0}, // alpha scaling factor of 1
new float[] {.2f, .2f, .2f, 0, 1}}; // three translations of 0.2
ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);
imageAttributes.SetColorMatrix(
colorMatrix,
ColorMatrixFlag.Default,
ColorAdjustType.Bitmap);
e.Graphics.DrawImage(image, 10, 10);
e.Graphics.DrawImage(
image,
new Rectangle(120, 10, width, height), // destination rectangle
0, 0, // upper-left corner of source rectangle
width, // width of source rectangle
height, // height of source rectangle
GraphicsUnit.Pixel,
imageAttributes);
Dim image As New Bitmap("InputColor.bmp")
Dim imageAttributes As New ImageAttributes()
Dim width As Integer = image.Width
Dim height As Integer = image.Height
' The following matrix consists of the following transformations:
' red scaling factor of 2
' green scaling factor of 1
' blue scaling factor of 1
' alpha scaling factor of 1
' three translations of 0.2
Dim colorMatrixElements As Single()() = { _
New Single() {2, 0, 0, 0, 0}, _
New Single() {0, 1, 0, 0, 0}, _
New Single() {0, 0, 1, 0, 0}, _
New Single() {0, 0, 0, 1, 0}, _
New Single() {0.2F, 0.2F, 0.2F, 0, 1}}
Dim colorMatrix As New ColorMatrix(colorMatrixElements)
imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap)
e.Graphics.DrawImage(image, 10, 10)
e.Graphics.DrawImage( _
image, _
New Rectangle(120, 10, width, height), _
0, _
0, _
width, _
height, _
GraphicsUnit.Pixel, _
imageAttributes)
備註
對象會維護數個 ImageAttributes 色彩調整設定,包括色彩調整矩陣、灰階調整矩陣、gamma-校正值、色彩對應表和色彩臨界值。 在轉譯期間,色彩可以更正、變暗、變淺和移除。 若要套用這類操作,請初始化 ImageAttributes 物件,並將該 ImageAttributes 對象的路徑連同) 的路徑 Image 傳遞至 DrawImage 方法 (。
注意
在 .NET 6 和更新版本中,只有 Windows 作業系統才支援包含此類型的 System.Drawing.Common 套件。 在跨平臺應用程式中使用此類型會導致編譯時間警告和運行時間例外狀況。 如需詳細資訊,請參閱 僅限 Windows 上支援的 System.Drawing.Common。
建構函式
ImageAttributes() |
初始化 ImageAttributes 類別的新執行個體。 |