ImageAttributes.SetRemapTable 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
设置颜色重新映射表。
重载
SetRemapTable(ColorMap[])
- Source:
- ImageAttributes.cs
- Source:
- ImageAttributes.cs
- Source:
- ImageAttributes.cs
- Source:
- ImageAttributes.cs
- Source:
- 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())
参数
示例
下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgse
,这是 Paint 事件处理程序的参数。 该代码执行以下操作:
创建图像(红色圆圈),将其保存为 Circle2.jpg,打开该图像,并将其绘制到屏幕。
创建将红色映射到绿色的颜色映射。
再次将之前创建的图像绘制到屏幕,但这次使用颜色图。
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>)
- Source:
- ImageAttributes.cs
- Source:
- 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))
参数
- map
- ReadOnlySpan<ColorMap>
适用于
SetRemapTable(ReadOnlySpan<ValueTuple<Color,Color>>)
- Source:
- ImageAttributes.cs
- Source:
- 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)))
参数
- map
- ReadOnlySpan<ValueTuple<Color,Color>>
适用于
SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)
- Source:
- ImageAttributes.cs
- Source:
- 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))
参数
- type
- ColorAdjustType
- map
- ReadOnlySpan<ColorMap>
适用于
SetRemapTable(ColorAdjustType, ReadOnlySpan<ValueTuple<Color,Color>>)
- Source:
- ImageAttributes.cs
- Source:
- 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)))
参数
- type
- ColorAdjustType
- map
- ReadOnlySpan<ValueTuple<Color,Color>>
适用于
SetRemapTable(ColorMap[], ColorAdjustType)
- Source:
- ImageAttributes.cs
- Source:
- ImageAttributes.cs
- Source:
- ImageAttributes.cs
- Source:
- ImageAttributes.cs
- Source:
- 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)
参数
- type
- ColorAdjustType
一个 ColorAdjustType 元素,指定为其设置颜色重新映射表的类别。
示例
有关代码示例,请参阅 SetRemapTable(ColorMap[]) 方法。
注解
颜色重新映射表是 ColorMap 结构的数组。 每个 ColorMap 结构都有两个 Color 对象:一个指定旧颜色,一个指定相应的新颜色。 在呈现期间,与重新映射表中一种旧颜色匹配的任何颜色都更改为相应的新颜色。
ImageAttributes 对象维护五个调整类别的颜色和灰度设置:默认、位图、画笔、笔和文本。 例如,可以为默认类别指定颜色重新映射、位图类别的颜色重新映射表,并为笔类别指定其他颜色重新映射表。
默认颜色调整和灰度调整设置适用于没有自己调整设置的所有类别。 例如,如果从未为笔类别指定任何调整设置,则默认设置将应用于笔类别。
指定特定类别的颜色调整或灰度调整设置后,默认调整设置将不再应用于该类别。 例如,假设为默认类别指定调整设置的集合。 如果将 Pen 传递给 SetRemapTable 方法来设置笔类别的颜色重新映射表,则默认调整设置将不适用于笔。