Udostępnij za pośrednictwem


ImageAttributes.SetRemapTable Metoda

Definicja

Ustawia tabelę color-remap.

Przeciążenia

SetRemapTable(ColorMap[])

Ustawia tabelę color-remap dla kategorii domyślnej.

SetRemapTable(ReadOnlySpan<ColorMap>)
SetRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>)
SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)
SetRemapTable(ColorAdjustType, ReadOnlySpan<ValueTuple<Color,Color>>)
SetRemapTable(ColorMap[], ColorAdjustType)

Ustawia tabelę color-remap dla określonej kategorii.

SetRemapTable(ColorMap[])

Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs

Ustawia tabelę color-remap dla kategorii domyślnej.

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

Parametry

map
ColorMap[]

Tablica par kolorów typu ColorMap. Każda para kolorów zawiera istniejący kolor (pierwsza wartość) i kolor, do którego zostanie zamapowany (druga wartość).

Przykłady

Poniższy przykład kodu jest przeznaczony do użycia z formularzami Systemu Windows i wymaga PaintEventArgse, który jest parametrem programu obsługi zdarzeń Paint. Kod wykonuje następujące akcje:

  1. Tworzy obraz (czerwony okrąg), zapisuje go jako Circle2.jpg, otwiera ten obraz i rysuje go na ekranie.

  2. Tworzy mapę kolorów, która mapuje kolor czerwony na kolor zielony.

  3. Ponownie rysuje obraz utworzony wcześniej na ekranie, ale tym razem przy użyciu mapy kolorów.

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

Uwagi

Tabela mapowania kolorów to tablica struktur ColorMap. Każda struktura ColorMap ma dwa obiekty Color: jeden, który określa stary kolor i taki, który określa odpowiedni nowy kolor. Podczas renderowania każdy kolor, który pasuje do jednego ze starych kolorów w tabeli ponownej mapy, zostanie zmieniony na odpowiedni nowy kolor.

Obiekt ImageAttributes zachowuje ustawienia koloru i skali szarości dla pięciu kategorii korekty: domyślne, mapy bitowej, pędzla, pióra i tekstu. Na przykład można określić ponownie mapę kolorów dla kategorii domyślnej, tabelę mapy kolorów dla kategorii mapy bitowej i nadal inną tabelę ponownego mapowania kolorów dla kategorii pióra.

Domyślne ustawienia korekty kolorów i korekty skali szarości mają zastosowanie do wszystkich kategorii, które nie mają własnych ustawień korekty. Jeśli na przykład nigdy nie określisz żadnych ustawień korekty dla kategorii pióra, ustawienia domyślne będą stosowane do kategorii pióra.

Dotyczy

SetRemapTable(ReadOnlySpan<ColorMap>)

Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
public:
 void SetRemapTable(ReadOnlySpan<System::Drawing::Imaging::ColorMap ^> map);
public void SetRemapTable (scoped ReadOnlySpan<System.Drawing.Imaging.ColorMap> map);
member this.SetRemapTable : ReadOnlySpan<System.Drawing.Imaging.ColorMap> -> unit
Public Sub SetRemapTable (map As ReadOnlySpan(Of ColorMap))

Parametry

Dotyczy

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

Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
public:
 void SetRemapTable(ReadOnlySpan<ValueTuple<System::Drawing::Color, System::Drawing::Color>> map);
public void SetRemapTable (scoped ReadOnlySpan<(System.Drawing.Color OldColor, System.Drawing.Color NewColor)> map);
member this.SetRemapTable : ReadOnlySpan<ValueTuple<System.Drawing.Color, System.Drawing.Color>> -> unit
Public Sub SetRemapTable (map As ReadOnlySpan(Of ValueTuple(Of Color, Color)))

Parametry

Dotyczy

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
public:
 void SetRemapTable(System::Drawing::Imaging::ColorAdjustType type, ReadOnlySpan<System::Drawing::Imaging::ColorMap ^> map);
public void SetRemapTable (System.Drawing.Imaging.ColorAdjustType type, scoped ReadOnlySpan<System.Drawing.Imaging.ColorMap> map);
member this.SetRemapTable : System.Drawing.Imaging.ColorAdjustType * ReadOnlySpan<System.Drawing.Imaging.ColorMap> -> unit
Public Sub SetRemapTable (type As ColorAdjustType, map As ReadOnlySpan(Of ColorMap))

Parametry

Dotyczy

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

Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
public:
 void SetRemapTable(System::Drawing::Imaging::ColorAdjustType type, ReadOnlySpan<ValueTuple<System::Drawing::Color, System::Drawing::Color>> map);
public void SetRemapTable (System.Drawing.Imaging.ColorAdjustType type, scoped ReadOnlySpan<(System.Drawing.Color OldColor, System.Drawing.Color NewColor)> map);
member this.SetRemapTable : System.Drawing.Imaging.ColorAdjustType * ReadOnlySpan<ValueTuple<System.Drawing.Color, System.Drawing.Color>> -> unit
Public Sub SetRemapTable (type As ColorAdjustType, map As ReadOnlySpan(Of ValueTuple(Of Color, Color)))

Parametry

Dotyczy

SetRemapTable(ColorMap[], ColorAdjustType)

Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs
Źródło:
ImageAttributes.cs

Ustawia tabelę color-remap dla określonej kategorii.

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)

Parametry

map
ColorMap[]

Tablica par kolorów typu ColorMap. Każda para kolorów zawiera istniejący kolor (pierwsza wartość) i kolor, do którego zostanie zamapowany (druga wartość).

type
ColorAdjustType

Element ColorAdjustType określający kategorię, dla której ustawiono tabelę color-remap.

Przykłady

Aby zapoznać się z przykładem kodu, zobacz metodę SetRemapTable(ColorMap[]).

Uwagi

Tabela mapowania kolorów to tablica struktur ColorMap. Każda struktura ColorMap ma dwa obiekty Color: jeden, który określa stary kolor i taki, który określa odpowiedni nowy kolor. Podczas renderowania każdy kolor, który pasuje do jednego ze starych kolorów w tabeli ponownej mapy, zostanie zmieniony na odpowiedni nowy kolor.

Obiekt ImageAttributes zachowuje ustawienia koloru i skali szarości dla pięciu kategorii korekty: domyślne, mapy bitowej, pędzla, pióra i tekstu. Na przykład można określić ponownie mapę kolorów dla kategorii domyślnej, tabelę mapy kolorów dla kategorii mapy bitowej i nadal inną tabelę ponownego mapowania kolorów dla kategorii pióra.

Domyślne ustawienia korekty kolorów i korekty skali szarości mają zastosowanie do wszystkich kategorii, które nie mają własnych ustawień korekty. Jeśli na przykład nigdy nie określisz żadnych ustawień korekty dla kategorii pióra, ustawienia domyślne będą stosowane do kategorii pióra.

Gdy tylko określisz ustawienie korekty kolorów lub korekty skali szarości dla określonej kategorii, domyślne ustawienia korekty nie będą już stosowane do tej kategorii. Załóżmy na przykład, że określisz kolekcję ustawień korekty dla kategorii domyślnej. Jeśli ustawisz tabelę color-remap dla kategorii pióra, przekazując Pen do metody SetRemapTable, żadne z domyślnych ustawień korekty nie będzie miało zastosowania do piór.

Dotyczy