ImageAttributes Třída

Definice

Obsahuje informace o tom, jak se při vykreslování manipuluje s barvami rastrových obrázků a metasouborů.

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ý má všechny barvy (0.2, 0.0, 0.4, 1.0) a zdvojnásobí červenou komponentu, přidá k červené, zelené a modré komponentě 0,2.

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žije k přebarvení následující kroky:

  1. Inicializuje ColorMatrix objekt.

  2. ImageAttributes Create objekt a předejte ColorMatrix objekt metodě SetColorMatrix objektuImageAttributes.

  3. Předejte ImageAttributes objekt metodě DrawImage objektu Graphics .

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í pro úpravu barev, včetně matic pro úpravu barev, matic úprav stupňů šedé, hodnot gama oprav, tabulek mapování barev a hodnot prahových hodnot barev. Během vykreslování lze barvy opravit, ztmavit, zesvětlit a odebrat. Chcete-li použít takové manipulace, inicializovat ImageAttributes objekt a předat cestu k tomuto ImageAttributes objektu (spolu s cestou Image) do DrawImage metody.

Poznámka

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í při kompilaci a výjimky za běhu. Další informace najdete v tématu System.Drawing.Common podporované pouze ve Windows.

Konstruktory

ImageAttributes()

Inicializuje novou instanci ImageAttributes třídy.

Metody

ClearBrushRemapTable()

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

ClearColorKey()

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

ClearColorKey(ColorAdjustType)

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

ClearColorMatrix()

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

ClearColorMatrix(ColorAdjustType)

Vymaže matici nastavení barev pro zadanou kategorii.

ClearGamma()

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

ClearGamma(ColorAdjustType)

Zakáže gama opravu 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 (cyan-purpur-yellow-black) pro výchozí kategorii.

ClearOutputChannel(ColorAdjustType)

Vymaže nastavení výstupního kanálu (cyan-purpur-yellow-black) pro zadanou kategorii.

ClearOutputChannelColorProfile()

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

ClearOutputChannelColorProfile(ColorAdjustType)

Vymaže nastavení profilu barvy 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čí, zda se zadaný objekt rovná 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 jeho uvolněním uvolňováním.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

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

GetHashCode()

Slouží jako výchozí hashovací funkce.

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

Získá aktuální Type instanci.

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

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

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

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

SetBrushRemapTable(ReadOnlySpan<ColorMap>)

Obsahuje informace o tom, jak se při vykreslování manipuluje s barvami rastrových obrázků a metasouborů.

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

Obsahuje informace o tom, jak se při vykreslování manipuluje s barvami rastrových obrázků a metasouborů.

SetColorKey(Color, Color)

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

SetColorKey(Color, Color, ColorAdjustType)

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

SetColorMatrices(ColorMatrix, ColorMatrix)

Nastaví matici pro úpravu barev a matici nastavení stupňů šedé pro výchozí kategorii.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

Nastaví matici pro úpravu barev a matici nastavení stupňů šedé pro výchozí kategorii.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Nastaví matici pro úpravu barev a matici nastavení stupňů šedé pro zadanou kategorii.

SetColorMatrix(ColorMatrix)

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

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

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

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Nastaví matici nastavení barev pro zadanou kategorii.

SetGamma(Single)

Nastaví hodnotu gama pro výchozí kategorii.

SetGamma(Single, ColorAdjustType)

Nastaví hodnotu gama pro zadanou kategorii.

SetNoOp()

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

SetNoOp(ColorAdjustType)

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

SetOutputChannel(ColorChannelFlag)

Nastaví výstupní kanál CMYK (cyan-purpur-yellow-black) pro výchozí kategorii.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Nastaví výstupní kanál CMYK (cyan-purpur-yellow-black) pro zadanou kategorii.

SetOutputChannelColorProfile(String)

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

SetOutputChannelColorProfile(String, ColorAdjustType)

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

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

Obsahuje informace o tom, jak se při vykreslování manipuluje s barvami rastrových obrázků a metasouborů.

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

Obsahuje informace o tom, jak se při vykreslování manipuluje s barvami rastrových obrázků a metasouborů.

SetRemapTable(ColorMap[])

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

SetRemapTable(ColorMap[], ColorAdjustType)

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

SetRemapTable(ReadOnlySpan<ColorMap>)

Obsahuje informace o tom, jak se při vykreslování manipuluje s barvami rastrových obrázků a metasouborů.

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

Obsahuje informace o tom, jak se při vykreslování manipuluje s barvami rastrových obrázků a metasouborů.

SetThreshold(Single)

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

SetThreshold(Single, ColorAdjustType)

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

SetWrapMode(WrapMode)

Nastaví režim obtékání, který se používá k rozhodování, jak uspořádat texturu přes obrazec nebo na hranicích obrazce. Textura je dlaždicová 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 rozhodování o tom, jak vytvořit dlaždici textury přes obrazec nebo na hranicích obrazce. Textura je dlaždicová přes obrazec, aby se vyplnila, když je textura menší než obrazec, který vyplňuje.

SetWrapMode(WrapMode, Color, Boolean)

Nastaví režim obtékání a barvu použitou k rozhodování o tom, jak vytvořit dlaždici textury přes obrazec nebo na hranicích obrazce. Textura je dlaždicová 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é