Поделиться через


ImageAttributes.SetRemapTable Метод

Определение

Задает таблицу цветовой карты.

Перегрузки

SetRemapTable(ColorMap[])

Задает таблицу цветовой карты для категории по умолчанию.

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

Задает таблицу цветовой карты для указанной категории.

SetRemapTable(ColorMap[])

Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs

Задает таблицу цветовой карты для категории по умолчанию.

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())

Параметры

map
ColorMap[]

Массив пар цветов типа ColorMap. Каждая пара цветов содержит существующий цвет (первое значение) и цвет, с которым он будет сопоставлен (второе значение).

Примеры

Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse, который является параметром обработчика событий 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: один, указывающий старый цвет и соответствующий новый цвет. Во время отрисовки любой цвет, соответствующий одному из старых цветов в таблице повторной карты, изменяется на соответствующий новый цвет.

Объект ImageAttributes поддерживает параметры цвета и серого шкалы для пяти категорий корректировки: по умолчанию, растровая карта, кисть, перо и текст. Например, можно указать цветовую повторное изображение для категории по умолчанию, таблицу цветовой карты для категории растровых карт и по-прежнему другую таблицу цветовой карты для категории пера.

Параметры настройки цветов по умолчанию и настройки серого шкалы применяются ко всем категориям, которые не имеют собственных параметров корректировки. Например, если вы никогда не указываете параметры корректировки для категории пера, параметры по умолчанию применяются к категории пера.

Применяется к

SetRemapTable(ReadOnlySpan<ColorMap>)

Исходный код:
ImageAttributes.cs
Исходный код:
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))

Параметры

Применяется к

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

Исходный код:
ImageAttributes.cs
Исходный код:
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)))

Параметры

Применяется к

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

Исходный код:
ImageAttributes.cs
Исходный код:
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))

Параметры

Применяется к

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

Исходный код:
ImageAttributes.cs
Исходный код:
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)))

Параметры

Применяется к

SetRemapTable(ColorMap[], ColorAdjustType)

Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs
Исходный код:
ImageAttributes.cs

Задает таблицу цветовой карты для указанной категории.

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. Каждая пара цветов содержит существующий цвет (первое значение) и цвет, с которым он будет сопоставлен (второе значение).

type
ColorAdjustType

Элемент ColorAdjustType, указывающий категорию, для которой задана таблица цветовой карты.

Примеры

Пример кода см. в методе SetRemapTable(ColorMap[]).

Комментарии

Таблица цветовой карты — это массив структур ColorMap. Каждая структура ColorMap содержит два объекта Color: один, указывающий старый цвет и соответствующий новый цвет. Во время отрисовки любой цвет, соответствующий одному из старых цветов в таблице повторной карты, изменяется на соответствующий новый цвет.

Объект ImageAttributes поддерживает параметры цвета и серого шкалы для пяти категорий корректировки: по умолчанию, растровая карта, кисть, перо и текст. Например, можно указать цветовую повторное изображение для категории по умолчанию, таблицу цветовой карты для категории растровых карт и по-прежнему другую таблицу цветовой карты для категории пера.

Параметры настройки цветов по умолчанию и настройки серого шкалы применяются ко всем категориям, которые не имеют собственных параметров корректировки. Например, если вы никогда не указываете параметры корректировки для категории пера, параметры по умолчанию применяются к категории пера.

Как только вы указываете параметр настройки цветов или серого шкалы для определенной категории, параметры корректировки по умолчанию больше не применяются к этой категории. Например, предположим, что вы указываете коллекцию параметров корректировки для категории по умолчанию. Если задать таблицу цветовой карты для категории пера, передав Pen методу SetRemapTable, ни один из параметров корректировки по умолчанию не будет применяться к перам.

Применяется к