ImageAttributes Klasa

Definicja

Zawiera informacje o sposobie manipulowania kolorami mapy bitowej i metapliku podczas renderowania.

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
Dziedziczenie
ImageAttributes
Implementuje

Przykłady

Poniższy przykład przyjmuje obraz, który jest jednym kolorem (0.2, 0.0, 0.4, 1.0) i podwaja czerwony składnik dodaje 0,2 do czerwonych, zielonych i niebieskich składników.

Poniższa ilustracja przedstawia oryginalny obraz po lewej stronie i przekształcony obraz po prawej stronie.

Kolory

Kod w przykładzie używa następujących kroków, aby wykonać ponowne kolorowanie:

  1. Inicjowanie ColorMatrix obiektu.

  2. ImageAttributes Utwórz obiekt i przekaż ColorMatrix obiekt do SetColorMatrix metody ImageAttributes obiektu.

  3. ImageAttributes Przekaż obiekt do DrawImage metody Graphics obiektu.

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)

Uwagi

Obiekt ImageAttributes utrzymuje kilka ustawień korekty kolorów, w tym macierze do korekty kolorów, macierze korekty szarości, wartości korekty gamma, tabele mapy kolorów i wartości progowe koloru. Podczas renderowania kolory można poprawić, zaciemnić, rozjaśnić i usunąć. Aby zastosować takie manipulacje, zainicjuj ImageAttributes obiekt i przekaż ścieżkę tego ImageAttributes obiektu (wraz ze ścieżką elementu Image) do DrawImage metody .

Uwaga

W programie .NET 6 i nowszych wersjach pakiet System.Drawing.Common,który zawiera ten typ, jest obsługiwany tylko w Windows operacyjnych. Użycie tego typu w aplikacjach międzyplatformowych powoduje ostrzeżenia w czasie kompilacji i wyjątki czasu uruchamiania. Aby uzyskać więcej informacji, zobacz System.Drawing.Common obsługiwane tylko na Windows.

Konstruktory

ImageAttributes()

Inicjuje nowe wystąpienie klasy ImageAttributes.

Metody

ClearBrushRemapTable()

Czyści tabelę kolorową pędzla tego ImageAttributes obiektu.

ClearColorKey()

Czyści klucz koloru (zakres przezroczystości) dla kategorii domyślnej.

ClearColorKey(ColorAdjustType)

Czyści klucz koloru (zakres przezroczystości) dla określonej kategorii.

ClearColorMatrix()

Czyści macierz korekty kolorów dla kategorii domyślnej.

ClearColorMatrix(ColorAdjustType)

Czyści macierz korekty kolorów dla określonej kategorii.

ClearGamma()

Wyłącza korektę gamma dla kategorii domyślnej.

ClearGamma(ColorAdjustType)

Wyłącza korektę gamma dla określonej kategorii.

ClearNoOp()

Czyści NoOp ustawienie dla kategorii domyślnej.

ClearNoOp(ColorAdjustType)

Czyści NoOp ustawienie dla określonej kategorii.

ClearOutputChannel()

Czyści ustawienie kanału wyjściowego CMYK (cyan-magenta-yellow-black) dla kategorii domyślnej.

ClearOutputChannel(ColorAdjustType)

Czyści ustawienie kanału wyjściowego (cyan-magenta-yellow-black) dla określonej kategorii.

ClearOutputChannelColorProfile()

Czyści ustawienie profilu koloru kanału wyjściowego dla kategorii domyślnej.

ClearOutputChannelColorProfile(ColorAdjustType)

Czyści ustawienie profilu koloru kanału wyjściowego dla określonej kategorii.

ClearRemapTable()

Czyści tabelę color-remap dla kategorii domyślnej.

ClearRemapTable(ColorAdjustType)

Czyści tabelę color-remap dla określonej kategorii.

ClearThreshold()

Czyści wartość progową dla kategorii domyślnej.

ClearThreshold(ColorAdjustType)

Czyści wartość progową dla określonej kategorii.

Clone()

Tworzy dokładną kopię tego ImageAttributes obiektu.

Dispose()

Zwalnia wszystkie zasoby używane przez ten ImageAttributes obiekt.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Umożliwia obiektowi próbę zwolnienia zasobów i wykonania innych operacji oczyszczania przed odzyskaniem przez odzyskiwanie pamięci.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Dostosowuje kolory w palecie zgodnie z ustawieniami regulacji określonej kategorii.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
SetBrushRemapTable(ColorMap[])

Ustawia tabelę color-remap dla kategorii pędzla.

SetColorKey(Color, Color)

Ustawia klucz koloru dla kategorii domyślnej.

SetColorKey(Color, Color, ColorAdjustType)

Ustawia klucz koloru (zakres przezroczystości) dla określonej kategorii.

SetColorMatrices(ColorMatrix, ColorMatrix)

Ustawia macierz korekty kolorów i macierz korekty skali szarości dla kategorii domyślnej.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

Ustawia macierz korekty kolorów i macierz korekty skali szarości dla kategorii domyślnej.

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Ustawia macierz korekty kolorów i macierz korekty skali szarości dla określonej kategorii.

SetColorMatrix(ColorMatrix)

Ustawia macierz korekty kolorów dla kategorii domyślnej.

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

Ustawia macierz korekty kolorów dla kategorii domyślnej.

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

Ustawia macierz korekty kolorów dla określonej kategorii.

SetGamma(Single)

Ustawia wartość gamma dla kategorii domyślnej.

SetGamma(Single, ColorAdjustType)

Ustawia wartość gamma dla określonej kategorii.

SetNoOp()

Wyłącza dostosowywanie kolorów dla kategorii domyślnej. Możesz wywołać metodę ClearNoOp , aby przywrócić ustawienia korekty kolorów, które zostały wprowadzone przed wywołaniem SetNoOp metody .

SetNoOp(ColorAdjustType)

Wyłącza dostosowywanie kolorów dla określonej kategorii. Możesz wywołać metodę ClearNoOp , aby przywrócić ustawienia korekty kolorów, które zostały wprowadzone przed wywołaniem SetNoOp metody .

SetOutputChannel(ColorChannelFlag)

Ustawia kanał wyjściowy CMYK (cyan-magenta-yellow-black) dla kategorii domyślnej.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Ustawia kanał wyjściowy CMYK (cyan-magenta-yellow-black) dla określonej kategorii.

SetOutputChannelColorProfile(String)

Ustawia plik profilu kolorów kanału wyjściowego dla kategorii domyślnej.

SetOutputChannelColorProfile(String, ColorAdjustType)

Ustawia plik profilu kolorów kanału wyjściowego dla określonej kategorii.

SetRemapTable(ColorMap[])

Ustawia tabelę mapowania kolorów dla kategorii domyślnej.

SetRemapTable(ColorMap[], ColorAdjustType)

Ustawia tabelę mapowania kolorów dla określonej kategorii.

SetThreshold(Single)

Ustawia próg (zakres przezroczystości) dla kategorii domyślnej.

SetThreshold(Single, ColorAdjustType)

Ustawia próg (zakres przezroczystości) dla określonej kategorii.

SetWrapMode(WrapMode)

Ustawia tryb zawijania, który służy do decydowania, jak kafelkować teksturę w kształcie lub na granicach kształtu. Tekstura jest wyłożona kafelkami na kształcie, aby wypełnić go, gdy tekstura jest mniejsza niż kształt, który wypełnia.

SetWrapMode(WrapMode, Color)

Ustawia tryb zawijania i kolor używany do decydowania, jak kafelki tekstury w kształcie lub na granicach kształtu. Tekstura jest wyłożona kafelkami na kształcie, aby wypełnić go, gdy tekstura jest mniejsza niż kształt, który wypełnia.

SetWrapMode(WrapMode, Color, Boolean)

Ustawia tryb zawijania i kolor używany do decydowania, jak kafelki tekstury w kształcie lub na granicach kształtu. Tekstura jest wyłożona kafelkami na kształcie, aby wypełnić go, gdy tekstura jest mniejsza niż kształt, który wypełnia.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też