次の方法で共有


ImageAttributes クラス

定義

レンダリング時のビットマップとメタファイルの色の操作方法に関する情報を格納します。

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
実装

次の例では、すべての 1 色 (0.2、0.0、0.4、1.0) の画像を取得し、赤のコンポーネントが赤、緑、青の各コンポーネントに 0.2 を加算します。

次の図は、左側に元の画像、右側に変換後の画像を示したものです。

色の

この例のコードでは、次の手順を使用して色変更を実行します。

  1. ColorMatrix オブジェクトを初期化します。

  2. ImageAttributes オブジェクトを作成し、その ImageAttributes オブジェクトの SetColorMatrix メソッドに ColorMatrix オブジェクトを渡します。

  3. ImageAttributes オブジェクトを、Graphics オブジェクトの DrawImage メソッドに渡します。

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 、色調整マトリックス、グレースケール調整行列、ガンマ補正値、カラーマップ テーブル、色しきい値など、いくつかの色調整設定を保持します。 レンダリング中に、色を修正、暗く、明るく、削除できます。 このような操作を適用するには、オブジェクトを ImageAttributes 初期化し、その ImageAttributes オブジェクトのパス (および のパス Image) を メソッドに DrawImage 渡します。

注意

.NET 6 以降のバージョンでは、この種類を含む System.Drawing.Common パッケージは Windows オペレーティング システムでのみサポートされています。 クロスプラットフォーム アプリでこの型を使用すると、コンパイル時の警告と実行時例外が発生します。 詳細については、「 Windows でのみサポートされる System.Drawing.Common」を参照してください。

コンストラクター

ImageAttributes()

ImageAttributes クラスの新しいインスタンスを初期化します。

メソッド

ClearBrushRemapTable()

ImageAttributes オブジェクトのブラシのカラー リマップ テーブルを消去します。

ClearColorKey()

既定のカテゴリのカラー キー (透明度の範囲) を消去します。

ClearColorKey(ColorAdjustType)

指定したカテゴリのカラー キー (透明度の範囲) を消去します。

ClearColorMatrix()

既定のカテゴリのカラー調整行列を消去します。

ClearColorMatrix(ColorAdjustType)

指定したカテゴリのカラー調整行列を消去します。

ClearGamma()

既定のカテゴリのガンマ補正を無効にします。

ClearGamma(ColorAdjustType)

指定したカテゴリのガンマ補正を無効にします。

ClearNoOp()

既定のカテゴリの NoOp 設定を消去します。

ClearNoOp(ColorAdjustType)

指定したカテゴリの NoOp 設定を消去します。

ClearOutputChannel()

既定のカテゴリの CMYK (水色、マゼンタ、黄、黒) 出力チャネル設定を消去します。

ClearOutputChannel(ColorAdjustType)

指定されたのカテゴリの CMYK (水色、マゼンタ、黄、黒) 出力チャネル設定を消去します。

ClearOutputChannelColorProfile()

既定のカテゴリの出力チャネルのカラー プロファイル設定を消去します。

ClearOutputChannelColorProfile(ColorAdjustType)

指定したカテゴリの出力チャネルのカラー プロファイル設定を消去します。

ClearRemapTable()

既定のカテゴリのカラー リマップ テーブルを消去します。

ClearRemapTable(ColorAdjustType)

指定したカテゴリのカラー リマップ テーブルを消去します。

ClearThreshold()

既定のカテゴリのしきい値を消去します。

ClearThreshold(ColorAdjustType)

指定したカテゴリのしきい値を消去します。

Clone()

この ImageAttributes オブジェクトの同一コピーを作成します。

Dispose()

この ImageAttributes オブジェクトによって使用されているすべてのリソースを解放します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Finalize()

オブジェクトが、ガベージ コレクションによって収集される前に、リソースの解放とその他のクリーンアップ操作の実行を試みることができるようにします。

GetAdjustedPalette(ColorPalette, ColorAdjustType)

指定したカテゴリの調整設定に従ってパレットの色を調整します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SetBrushRemapTable(ColorMap[])

ブラシ カテゴリのカラー リマップ テーブルを設定します。

SetBrushRemapTable(ReadOnlySpan<ColorMap>)

レンダリング時のビットマップとメタファイルの色の操作方法に関する情報を格納します。

SetBrushRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>)

レンダリング時のビットマップとメタファイルの色の操作方法に関する情報を格納します。

SetColorKey(Color, Color)

既定のカテゴリのカラー キーを設定します。

SetColorKey(Color, Color, ColorAdjustType)

指定したカテゴリのカラー キー (透明度の範囲) を設定します。

SetColorMatrices(ColorMatrix, ColorMatrix)

既定のカテゴリのカラー調整行列とグレースケール調整行列を設定します。

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

既定のカテゴリのカラー調整行列とグレースケール調整行列を設定します。

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

指定したカテゴリのカラー調整行列とグレースケール調整行列を設定します。

SetColorMatrix(ColorMatrix)

既定のカテゴリのカラー調整行列を設定します。

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

既定のカテゴリのカラー調整行列を設定します。

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

指定したカテゴリのカラー調整行列を設定します。

SetGamma(Single)

既定のカテゴリのガンマ値を設定します。

SetGamma(Single, ColorAdjustType)

指定したカテゴリのガンマ値を設定します。

SetNoOp()

既定のカテゴリのカラー調整をオフにします。 ClearNoOp メソッドを呼び出して、SetNoOp メソッドを呼び出す前のカラー調整設定に戻すことができます。

SetNoOp(ColorAdjustType)

指定したカテゴリのカラー調整をオフにします。 ClearNoOp メソッドを呼び出して、SetNoOp メソッドを呼び出す前のカラー調整設定に戻すことができます。

SetOutputChannel(ColorChannelFlag)

既定のカテゴリの CMYK (水色、マゼンタ、黄、黒) 出力チャネルを設定します。

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

指定されたカテゴリの CMYK (水色、マゼンタ、黄、黒) 出力チャネルを設定します。

SetOutputChannelColorProfile(String)

既定のカテゴリの出力チャネルのカラー プロファイル ファイルを設定します。

SetOutputChannelColorProfile(String, ColorAdjustType)

指定したカテゴリの出力チャネルのカラー プロファイル ファイルを設定します。

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

レンダリング時のビットマップとメタファイルの色の操作方法に関する情報を格納します。

SetRemapTable(ColorAdjustType, ReadOnlySpan<ValueTuple<Color,Color>>)

レンダリング時のビットマップとメタファイルの色の操作方法に関する情報を格納します。

SetRemapTable(ColorMap[])

既定のカテゴリのカラー リマップ テーブルを設定します。

SetRemapTable(ColorMap[], ColorAdjustType)

指定したカテゴリのカラー リマップ テーブルを設定します。

SetRemapTable(ReadOnlySpan<ColorMap>)

レンダリング時のビットマップとメタファイルの色の操作方法に関する情報を格納します。

SetRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>)

レンダリング時のビットマップとメタファイルの色の操作方法に関する情報を格納します。

SetThreshold(Single)

既定のカテゴリのしきい値 (透明度の範囲) を指定します。

SetThreshold(Single, ColorAdjustType)

指定したカテゴリのしきい値 (透明度の範囲) を設定します。

SetWrapMode(WrapMode)

形状全体、または形状の境界上にテクスチャを並べて表示する方法を決定するために使用されるラップ モードを設定します。 テクスチャで塗りつぶす形状がそのテクスチャより小さい場合、テクスチャは形状の境界をはみだして表示されます。

SetWrapMode(WrapMode, Color)

形状全体、または形状の境界上にテクスチャを並べて表示する方法を決定するために使用される、ラップ モードおよび色を指定します。 テクスチャで塗りつぶす形状がそのテクスチャより小さい場合、テクスチャは形状の境界をはみだして表示されます。

SetWrapMode(WrapMode, Color, Boolean)

形状全体、または形状の境界上にテクスチャを並べて表示する方法を決定するために使用される、ラップ モードおよび色を指定します。 テクスチャで塗りつぶす形状がそのテクスチャより小さい場合、テクスチャは形状の境界をはみだして表示されます。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください