ImageAttributes Třída

Definice

Obsahuje informace o tom, jak se při vykreslování manipulují s rastrovými obrázky a barvami metasouboru.

public ref class ImageAttributes sealed : ICloneable, IDisposable
public sealed class ImageAttributes : ICloneable, IDisposable
type ImageAttributes = class
    interface ICloneable
    interface IDisposable
Public NotInheritable Class ImageAttributes
Implements ICloneable, IDisposable
Dědičnost
ImageAttributes
Implementuje

Příklady

Následující příklad vezme obrázek, který je všechny barvy (0.2, 0.0, 0.4, 1.0) a zdvojnásobí červenou komponentu 0,2 k červené, zelené a modré součásti.

Následující obrázek znázorňuje původní obrázek vlevo a transformovaný obrázek vpravo.

Barvy

Kód v příkladu používá k přebarvení následující kroky:

  1. Inicializace objektu ColorMatrix

  2. Vytvořte ImageAttributes objekt a předejte ColorMatrix objekt metodě SetColorMatrix objektu ImageAttributes .

  3. ImageAttributes Předejte objekt metodě DrawImage objektuGraphics.

Image image = new Bitmap("InputColor.bmp");
ImageAttributes imageAttributes = new ImageAttributes();
int width = image.Width;
int height = image.Height;

float[][] colorMatrixElements = { 
   new float[] {2,  0,  0,  0, 0},        // red scaling factor of 2
   new float[] {0,  1,  0,  0, 0},        // green scaling factor of 1
   new float[] {0,  0,  1,  0, 0},        // blue scaling factor of 1
   new float[] {0,  0,  0,  1, 0},        // alpha scaling factor of 1
   new float[] {.2f, .2f, .2f, 0, 1}};    // three translations of 0.2

ColorMatrix colorMatrix = new ColorMatrix(colorMatrixElements);

imageAttributes.SetColorMatrix(
   colorMatrix,
   ColorMatrixFlag.Default,
   ColorAdjustType.Bitmap);

e.Graphics.DrawImage(image, 10, 10);

e.Graphics.DrawImage(
   image,
   new Rectangle(120, 10, width, height),  // destination rectangle 
   0, 0,        // upper-left corner of source rectangle 
   width,       // width of source rectangle
   height,      // height of source rectangle
   GraphicsUnit.Pixel,
   imageAttributes);
Dim image As New Bitmap("InputColor.bmp")
Dim imageAttributes As New ImageAttributes()
Dim width As Integer = image.Width
Dim height As Integer = image.Height

' The following matrix consists of the following transformations:
' red scaling factor of 2
' green scaling factor of 1
' blue scaling factor of 1
' alpha scaling factor of 1
' three translations of 0.2
Dim colorMatrixElements As Single()() = { _
   New Single() {2, 0, 0, 0, 0}, _
   New Single() {0, 1, 0, 0, 0}, _
   New Single() {0, 0, 1, 0, 0}, _
   New Single() {0, 0, 0, 1, 0}, _
   New Single() {0.2F, 0.2F, 0.2F, 0, 1}}

Dim colorMatrix As New ColorMatrix(colorMatrixElements)

imageAttributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap)

e.Graphics.DrawImage(image, 10, 10)

e.Graphics.DrawImage( _
   image, _
   New Rectangle(120, 10, width, height), _
   0, _
   0, _
   width, _
   height, _
   GraphicsUnit.Pixel, _
   imageAttributes)

Poznámky

Objekt ImageAttributes udržuje několik nastavení úprav barev, včetně matic úprav barev, matric úprav ve stupních šedé, hodnot opravy gama, tabulek map barev a hodnot prahových hodnot barev. Během vykreslování je možné opravit barvy, ztmavit, zesvětlit a odebrat. Chcete-li použít takové manipulace, inicializovat ImageAttributes objekt a předat cestu tohoto ImageAttributes objektu (spolu s cestou Image) do DrawImage metody.

Note

V .NET 6 a novějších verzích je balíček System.Drawing.Common, který obsahuje tento typ, podporován pouze v operačních systémech Windows. Použití tohoto typu v multiplatformních aplikacích způsobuje upozornění v době kompilace a výjimky za běhu. Další informace naleznete v tématu System.Drawing.Common podporován pouze ve Windows.

Konstruktory

Name Description
ImageAttributes()

Inicializuje novou instanci ImageAttributes třídy.

Metody

Name Description
ClearBrushRemapTable()

Vymaže tabulku přemapování barvy štětce tohoto ImageAttributes objektu.

ClearColorKey()

Vymaže barevnou klávesu (rozsah průhlednosti) pro výchozí kategorii.

ClearColorKey(ColorAdjustType)

Vymaže barevnou klávesu (rozsah průhlednosti) pro zadanou kategorii.

ClearColorMatrix()

Vymaže matici úprav barev pro výchozí kategorii.

ClearColorMatrix(ColorAdjustType)

Vymaže matici úprav barev pro zadanou kategorii.

ClearGamma()

Zakáže opravu gama pro výchozí kategorii.

ClearGamma(ColorAdjustType)

Zakáže opravu gama pro zadanou kategorii.

ClearNoOp()

Vymaže NoOp nastavení výchozí kategorie.

ClearNoOp(ColorAdjustType)

Vymaže NoOp nastavení pro zadanou kategorii.

ClearOutputChannel()

Vymaže nastavení výstupního kanálu CMYK (azurově purpurová-žlutá-černá) pro výchozí kategorii.

ClearOutputChannel(ColorAdjustType)

Vymaže nastavení výstupního kanálu (azurově purpurově-žlutý-černý) pro zadanou kategorii.

ClearOutputChannelColorProfile()

Vymaže nastavení barevného profilu výstupního kanálu pro výchozí kategorii.

ClearOutputChannelColorProfile(ColorAdjustType)

Vymaže nastavení barevného profilu výstupního kanálu pro zadanou kategorii.

ClearRemapTable()

Vymaže tabulku přemapování barev pro výchozí kategorii.

ClearRemapTable(ColorAdjustType)

Vymaže tabulku přemapování barev pro zadanou kategorii.

ClearThreshold()

Vymaže prahovou hodnotu výchozí kategorie.

ClearThreshold(ColorAdjustType)

Vymaže prahovou hodnotu pro zadanou kategorii.

Clone()

Vytvoří přesnou kopii tohoto ImageAttributes objektu.

Dispose()

Uvolní všechny prostředky používané tímto ImageAttributes objektem.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
Finalize()

Umožňuje objektu pokusit se uvolnit prostředky a provést další operace čištění před uvolněním paměti.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Upraví barvy v paletě podle nastavení úprav zadané kategorie.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
SetBrushRemapTable(ColorMap[])

Nastaví tabulku přemapování barev pro kategorii štětce.

SetBrushRemapTable(ReadOnlySpan<ColorMap>)

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

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

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

SetColorKey(Color, Color, ColorAdjustType)

Nastaví barevnou klávesu (rozsah průhlednosti) pro zadanou kategorii.

SetColorKey(Color, Color)

Nastaví barevnou klávesu pro výchozí kategorii.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Nastaví matici úprav barev a matici úprav ve stupních šedé pro zadanou kategorii.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

Nastaví matici úprav barev a matici úprav ve stupních šedé pro výchozí kategorii.

SetColorMatrices(ColorMatrix, ColorMatrix)

Nastaví matici úprav barev a matici úprav ve stupních šedé pro výchozí kategorii.

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Nastaví matici úprav barev pro zadanou kategorii.

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

Nastaví matici nastavení barev pro výchozí kategorii.

SetColorMatrix(ColorMatrix)

Nastaví matici nastavení barev pro výchozí kategorii.

SetGamma(Single, ColorAdjustType)

Nastaví hodnotu gama pro zadanou kategorii.

SetGamma(Single)

Nastaví hodnotu gama pro výchozí kategorii.

SetNoOp()

Vypne nastavení barev pro výchozí kategorii. Můžete volat metodu ClearNoOp , která obnoví nastavení úprav barev, která byla provedena před voláním SetNoOp metody.

SetNoOp(ColorAdjustType)

Vypne nastavení barev pro zadanou kategorii. Můžete volat metodu ClearNoOp , která obnoví nastavení úprav barev, která byla provedena před voláním SetNoOp metody.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Nastaví výstupní kanál CMYK (azurově purpurová-žlutá-černá) pro zadanou kategorii.

SetOutputChannel(ColorChannelFlag)

Nastaví výstupní kanál CMYK (azurově purpurová-žlutá-černá) pro výchozí kategorii.

SetOutputChannelColorProfile(String, ColorAdjustType)

Nastaví soubor barevného profilu výstupního kanálu pro zadanou kategorii.

SetOutputChannelColorProfile(String)

Nastaví soubor barevného profilu výstupního kanálu pro výchozí kategorii.

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

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

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

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

SetRemapTable(ColorMap[], ColorAdjustType)

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

SetRemapTable(ColorMap[])

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

SetRemapTable(ReadOnlySpan<ColorMap>)

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

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

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

SetThreshold(Single, ColorAdjustType)

Nastaví prahovou hodnotu (rozsah průhlednosti) pro zadanou kategorii.

SetThreshold(Single)

Nastaví prahovou hodnotu (rozsah průhlednosti) pro výchozí kategorii.

SetWrapMode(WrapMode, Color, Boolean)

Nastaví režim obtékání a barvu použitou k rozhodnutí, jak dlaždici textury přes obrazec nebo na hranicích obrazce. Textura se zaplní přes obrazec, aby se vyplnila, když je textura menší než obrazec, který vyplňuje.

SetWrapMode(WrapMode, Color)

Nastaví režim obtékání a barvu použitou k rozhodnutí, jak dlaždici textury přes obrazec nebo na hranicích obrazce. Textura se zaplní přes obrazec, aby se vyplnila, když je textura menší než obrazec, který vyplňuje.

SetWrapMode(WrapMode)

Nastaví režim obtékání, který se používá k rozhodování, jak dlaždici textury přes obrazec nebo na hranicích obrazce. Textura se zaplní přes obrazec, aby se vyplnila, když je textura menší než obrazec, který vyplňuje.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také