Sdílet prostřednictvím


ImageAttributes.SetRemapTable Metoda

Definice

Nastaví tabulku pro přemapování barev.

Přetížení

SetRemapTable(ColorMap[])

Nastaví tabulku přemapování barev pro výchozí kategorii.

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

Nastaví tabulku přemapování barev pro zadanou kategorii.

SetRemapTable(ColorMap[])

Zdroj:
ImageAttributes.cs
Zdroj:
ImageAttributes.cs
Zdroj:
ImageAttributes.cs
Zdroj:
ImageAttributes.cs
Zdroj:
ImageAttributes.cs

Nastaví tabulku přemapování barev pro výchozí kategorii.

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[]

Pole barevných dvojic typu ColorMap. Každý pár barev obsahuje existující barvu (první hodnotu) a barvu, na kterou se namapuje (druhá hodnota).

Příklady

Následující příklad kódu je určený pro použití s Windows Forms a vyžaduje PaintEventArgse, což je parametr obslužné rutiny události Paint. Kód provede následující akce:

  1. Vytvoří obrázek (červený kruh), uloží ho jako Circle2.jpg, otevře tento obrázek a nakreslí ho na obrazovku.

  2. Vytvoří barevnou mapu, která mapuje barvu červenou na zelenou barvu.

  3. Nakreslí obrázek vytvořený dříve na obrazovku znovu, ale tentokrát pomocí barevné mapy.

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

Poznámky

Tabulka přemapování barev je pole ColorMap struktur. Každá ColorMap struktura má dva Color objekty: jeden, který určuje starou barvu a jednu, která určuje odpovídající novou barvu. Při vykreslování se jakákoli barva, která odpovídá jedné ze starých barev v tabulce přemapování, změní na odpovídající novou barvu.

Objekt ImageAttributes udržuje nastavení barev a stupňů šedé pro pět kategorií úprav: výchozí, rastrový obrázek, štětec, pero a text. Můžete například zadat přemapování barev pro výchozí kategorii, tabulku pro přemapování barev pro kategorii rastrového obrázku a stále jinou tabulku pro přemapování barev pro kategorii pera.

Výchozí nastavení úprav barev a úprav ve stupních šedé platí pro všechny kategorie, které nemají vlastní nastavení úprav. Pokud například nikdy nezadáte žádné nastavení úprav pro kategorii pera, použije se výchozí nastavení pro kategorii pera.

Platí pro

SetRemapTable(ReadOnlySpan<ColorMap>)

Zdroj:
ImageAttributes.cs
Zdroj:
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

Platí pro

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

Zdroj:
ImageAttributes.cs
Zdroj:
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

Platí pro

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

Zdroj:
ImageAttributes.cs
Zdroj:
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

Platí pro

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

Zdroj:
ImageAttributes.cs
Zdroj:
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

Platí pro

SetRemapTable(ColorMap[], ColorAdjustType)

Zdroj:
ImageAttributes.cs
Zdroj:
ImageAttributes.cs
Zdroj:
ImageAttributes.cs
Zdroj:
ImageAttributes.cs
Zdroj:
ImageAttributes.cs

Nastaví tabulku přemapování barev pro zadanou 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[]

Pole barevných dvojic typu ColorMap. Každý pár barev obsahuje existující barvu (první hodnotu) a barvu, na kterou se namapuje (druhá hodnota).

type
ColorAdjustType

Prvek ColorAdjustType, který určuje kategorii, pro kterou je nastavena tabulka pro přemapování barev.

Příklady

Příklad kódu najdete v SetRemapTable(ColorMap[]) metodě.

Poznámky

Tabulka přemapování barev je pole ColorMap struktur. Každá ColorMap struktura má dva Color objekty: jeden, který určuje starou barvu a jednu, která určuje odpovídající novou barvu. Při vykreslování se jakákoli barva, která odpovídá jedné ze starých barev v tabulce přemapování, změní na odpovídající novou barvu.

Objekt ImageAttributes udržuje nastavení barev a stupňů šedé pro pět kategorií úprav: výchozí, rastrový obrázek, štětec, pero a text. Můžete například zadat přemapování barev pro výchozí kategorii, tabulku pro přemapování barev pro kategorii rastrového obrázku a stále jinou tabulku pro přemapování barev pro kategorii pera.

Výchozí nastavení úprav barev a úprav ve stupních šedé platí pro všechny kategorie, které nemají vlastní nastavení úprav. Pokud například nikdy nezadáte žádné nastavení úprav pro kategorii pera, použije se výchozí nastavení pro kategorii pera.

Jakmile pro určitou kategorii zadáte nastavení úprav barev nebo úprav ve stupních šedé, výchozí nastavení úprav se už na tuto kategorii nevztahuje. Předpokládejme například, že zadáte kolekci nastavení úprav pro výchozí kategorii. Pokud nastavíte tabulku přemapování barev pro kategorii pera předáním Pen metodě SetRemapTable, žádné z výchozích nastavení úprav se nepoužije na pera.

Platí pro