ImageAttributes.SetRemapTable メソッド

定義

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

オーバーロード

SetRemapTable(ColorMap[])

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

SetRemapTable(ColorMap[], ColorAdjustType)

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

SetRemapTable(ColorMap[])

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

public:
 void SetRemapTable(cli::array <System::Drawing::Imaging::ColorMap ^> ^ map);
public void SetRemapTable (System.Drawing.Imaging.ColorMap[] map);
member this.SetRemapTable : System.Drawing.Imaging.ColorMap[] -> unit
Public Sub SetRemapTable (map As ColorMap())

パラメーター

map
ColorMap[]

ColorMap 型の色ペアの配列。 それぞれの色ペアには、既存の色 (1 番目の値) および変換後の色 (2 番目の値) が含まれています。

次のコード例は、Windows フォームで使用するように設計されてい PaintEventArgs e ます。これは、イベントハンドラーのパラメーターであるを必要とし Paint ます。 コードは、次のアクションを実行します。

  1. イメージ (赤い円) を作成し、Circle2.jpg として保存し、そのイメージを開いて画面に描画します。

  2. 色の赤を緑色にマップするカラーマップを作成します。

  3. 前に作成したイメージを画面に再び描画しますが、今度はカラーマップを使用します。

private:
   void SetRemapTableExample( PaintEventArgs^ e )
   {
      // Create a filled, red image, and save it to Circle2.jpg.
      Bitmap^ myBitmap = gcnew Bitmap( 50,50 );
      Graphics^ g = Graphics::FromImage( myBitmap );
      g->Clear( Color::White );
      g->FillEllipse( gcnew SolidBrush( Color::Red ), Rectangle(0,0,50,50) );
      myBitmap->Save( "Circle2.jpg" );

      // Create an Image object from the Circle2.jpg file, and draw it to
      // the screen.
      Image^ myImage = Image::FromFile( "Circle2.jpg" );
      e->Graphics->DrawImage( myImage, 20, 20 );

      // Create a color map.
      array<ColorMap^>^myColorMap = gcnew array<ColorMap^>(1);
      myColorMap[ 0 ] = gcnew ColorMap;
      myColorMap[ 0 ]->OldColor = Color::Red;
      myColorMap[ 0 ]->NewColor = Color::Green;

      // Create an ImageAttributes object, and then pass the
      // myColorMap object to the SetRemapTable method.
      ImageAttributes^ imageAttr = gcnew ImageAttributes;
      imageAttr->SetRemapTable( myColorMap );

      // Draw the image with the remap table set.
      Rectangle rect = Rectangle(150,20,50,50);
      e->Graphics->DrawImage( myImage, rect, 0, 0, 50, 50, GraphicsUnit::Pixel, imageAttr );
   }
private void SetRemapTableExample(PaintEventArgs e)
{
             
    // Create a filled, red image, and save it to Circle2.jpg.
    Bitmap myBitmap = new Bitmap(50, 50);
    Graphics g = Graphics.FromImage(myBitmap);
    g.Clear(Color.White);
    g.FillEllipse(new SolidBrush(Color.Red),
        new Rectangle(0, 0, 50, 50));
    myBitmap.Save("Circle2.jpg");
             
    // Create an Image object from the Circle2.jpg file, and draw it to
             
    // the screen.
    Image myImage = Image.FromFile("Circle2.jpg");
    e.Graphics.DrawImage(myImage, 20, 20);
             
    // Create a color map.
    ColorMap[] myColorMap = new ColorMap[1];
    myColorMap[0] = new ColorMap();
    myColorMap[0].OldColor = Color.Red;
    myColorMap[0].NewColor = Color.Green;
             
    // Create an ImageAttributes object, and then pass the
   // myColorMap object to the SetRemapTable method.
    ImageAttributes imageAttr = new ImageAttributes();
    imageAttr.SetRemapTable(myColorMap);
             
    // Draw the image with the remap table set.
    Rectangle rect = new Rectangle(150, 20, 50, 50);
    e.Graphics.DrawImage(myImage, rect, 0, 0, 50, 50, 
        GraphicsUnit.Pixel, imageAttr);    
}
Public Sub SetRemapTableExample(ByVal e As PaintEventArgs)

    ' Create a filled, red image and save it to Circle2.jpg.
    Dim myBitmap As New Bitmap(50, 50)
    Dim g As Graphics = Graphics.FromImage(myBitmap)
    g.Clear(Color.White)
    g.FillEllipse(New SolidBrush(Color.Red), New Rectangle(0, 0, _
    50, 50))
    myBitmap.Save("Circle2.jpg")

    ' Create an Image object from the Circle2.jpg file, and draw

    ' it to the screen.
    Dim myImage As Image = Image.FromFile("Circle2.jpg")
    e.Graphics.DrawImage(myImage, 20, 20)

    ' Create a color map.
    Dim myColorMap(0) As ColorMap
    myColorMap(0) = New ColorMap
    myColorMap(0).OldColor = Color.Red
    myColorMap(0).NewColor = Color.Green

    ' Create an ImageAttributes object, and then pass the

    ' myColorMap object to the SetRemapTable method.
    Dim imageAttr As New ImageAttributes
    imageAttr.SetRemapTable(myColorMap)

    ' Draw the image with the remap table set.
    Dim rect As New Rectangle(150, 20, 50, 50)
    e.Graphics.DrawImage(myImage, rect, 0, 0, 50, 50, _
    GraphicsUnit.Pixel, imageAttr)
    ' Image
End Sub

注釈

カラーリマップテーブルは、構造体の配列です ColorMap 。 各 ColorMap 構造体には、 Color 古い色を指定するオブジェクトと、対応する新しい色を指定するオブジェクトの2つのオブジェクトがあります。 レンダリング時に、リマップテーブル内の古い色のいずれかに一致する色が、対応する新しい色に変更されます。

オブジェクトは、 ImageAttributes 5 つの調整カテゴリ (既定、ビットマップ、ブラシ、ペン、テキスト) の色とグレースケールの設定を保持します。 たとえば、既定のカテゴリのカラーリマップ、ビットマップカテゴリのカラーリマップテーブル、ペンカテゴリに対して異なるカラーリマップテーブルを指定することができます。

既定のカラー調整とグレースケール調整の設定は、調整設定がないすべてのカテゴリに適用されます。 たとえば、ペンカテゴリの調整設定を指定しない場合、既定の設定がペンカテゴリに適用されます。

適用対象

SetRemapTable(ColorMap[], ColorAdjustType)

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

public:
 void SetRemapTable(cli::array <System::Drawing::Imaging::ColorMap ^> ^ map, System::Drawing::Imaging::ColorAdjustType type);
public void SetRemapTable (System.Drawing.Imaging.ColorMap[] map, System.Drawing.Imaging.ColorAdjustType type);
member this.SetRemapTable : System.Drawing.Imaging.ColorMap[] * System.Drawing.Imaging.ColorAdjustType -> unit
Public Sub SetRemapTable (map As ColorMap(), type As ColorAdjustType)

パラメーター

map
ColorMap[]

ColorMap 型の色ペアの配列。 それぞれの色ペアには、既存の色 (1 番目の値) および変換後の色 (2 番目の値) が含まれています。

type
ColorAdjustType

カラー リマップ テーブルを設定する対象のカテゴリを指定する ColorAdjustType の要素。

コード例については、メソッドを参照してください SetRemapTable(ColorMap[])

注釈

カラーリマップテーブルは、構造体の配列です ColorMap 。 各 ColorMap 構造体には、 Color 古い色を指定するオブジェクトと、対応する新しい色を指定するオブジェクトの2つのオブジェクトがあります。 レンダリング時に、リマップテーブル内の古い色のいずれかに一致する色が、対応する新しい色に変更されます。

オブジェクトは、 ImageAttributes 5 つの調整カテゴリ (既定、ビットマップ、ブラシ、ペン、テキスト) の色とグレースケールの設定を保持します。 たとえば、既定のカテゴリのカラーリマップ、ビットマップカテゴリのカラーリマップテーブル、ペンカテゴリに対して異なるカラーリマップテーブルを指定することができます。

既定のカラー調整とグレースケール調整の設定は、調整設定がないすべてのカテゴリに適用されます。 たとえば、ペンカテゴリの調整設定を指定しない場合、既定の設定がペンカテゴリに適用されます。

特定のカテゴリに対してカラー調整またはグレースケール調整の設定を指定するとすぐに、既定の調整設定がそのカテゴリに適用されなくなります。 たとえば、既定のカテゴリの調整設定のコレクションを指定したとします。 メソッドに渡すことによって、ペンカテゴリのカラーリマップテーブルを設定した場合 Pen SetRemapTable 、既定の調整設定はペンに適用されません。

適用対象