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


ImageAttributes Класс

Определение

Содержит сведения о том, каким образом обрабатываются цвета точечных рисунков и метафайлов во время отрисовки.

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
Наследование
ImageAttributes
Реализации

Примеры

В следующем примере берется изображение одного цвета (0,2, 0,0, 0,4, 1,0), а красный компонент удваивает 0,2 к красным, зеленым и синим компонентам.

На приведенном ниже рисунке показаны исходное изображение слева и преобразованное изображение справа.

Цвета цветов

Код в примере использует следующие действия для выполнения перекраски:

  1. Инициализация объекта ColorMatrix.

  2. Создание объекта ImageAttributes и передача объекта ColorMatrix в метод SetColorMatrix объекта ImageAttributes.

  3. Передача объекта ImageAttributes в метод DrawImage объекта 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)

Комментарии

Объект ImageAttributes поддерживает несколько параметров настройки цвета, включая матрицы цветовой коррекции, матрицы для настройки оттенков серого, значения гамма-коррекции, таблицы цветовой карты и пороговые значения цветов. Во время отрисовки цвета можно исправить, затемнить, осветлить и удалить. Чтобы применить такие манипуляции, инициализируйте ImageAttributes объект и передайте путь к нему ImageAttributes (вместе с путем Image) в DrawImage метод .

Примечание

В .NET 6 и более поздних версиях пакет System.Drawing.Common, включающий этот тип, поддерживается только в операционных системах Windows. Использование этого типа в кроссплатформенных приложениях вызывает предупреждения во время компиляции и исключения во время выполнения. Дополнительные сведения см . в статье System.Drawing.Common, поддерживаемая только в Windows.

Конструкторы

ImageAttributes()

Инициализирует новый экземпляр класса ImageAttributes.

Методы

ClearBrushRemapTable()

Очищает таблицу преобразования цветов кисти этого объекта ImageAttributes.

ClearColorKey()

Очищает цветовой ключ (диапазон прозрачности) для категории по умолчанию.

ClearColorKey(ColorAdjustType)

Очищает цветовой ключ (диапазон прозрачности) для указанной категории.

ClearColorMatrix()

Очищает матрицу настройки цвета для категории по умолчанию.

ClearColorMatrix(ColorAdjustType)

Очищает матрицу настройки цвета для определенной категории.

ClearGamma()

Отключает гамма-коррекцию для категории по умолчанию.

ClearGamma(ColorAdjustType)

Отключает гамма-коррекцию для определенной категории.

ClearNoOp()

Очищает параметр NoOp для категории по умолчанию.

ClearNoOp(ColorAdjustType)

Очищает параметр NoOp для указанной категории.

ClearOutputChannel()

Очищает параметр CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный) выходного канала для категории по умолчанию.

ClearOutputChannel(ColorAdjustType)

Очищает параметр CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный) выходного канала для указанной категории.

ClearOutputChannelColorProfile()

Очищает настройку цветового профиля выходного канала для категории по умолчанию.

ClearOutputChannelColorProfile(ColorAdjustType)

Очищает настройку цветового профиля выходного канала для указанной категории.

ClearRemapTable()

Очищает таблицу преобразования цветов для категории по умолчанию.

ClearRemapTable(ColorAdjustType)

Очищает таблицу преобразования цветов для указанной категории.

ClearThreshold()

Очищает пороговое значение для категории по умолчанию.

ClearThreshold(ColorAdjustType)

Очищает пороговое значение для определенной категории.

Clone()

Создает точную копию объекта ImageAttributes.

Dispose()

Освобождает все ресурсы, используемые этим объектом ImageAttributes.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Finalize()

Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как он будет уничтожен во время сборки мусора.

GetAdjustedPalette(ColorPalette, ColorAdjustType)

Настраивает цвета в палитре согласно параметрам настройки указанной категории.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
SetBrushRemapTable(ColorMap[])

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

SetBrushRemapTable(ReadOnlySpan<ColorMap>)

Содержит сведения о том, каким образом обрабатываются цвета точечных рисунков и метафайлов во время отрисовки.

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

Содержит сведения о том, каким образом обрабатываются цвета точечных рисунков и метафайлов во время отрисовки.

SetColorKey(Color, Color)

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

SetColorKey(Color, Color, ColorAdjustType)

Задает цветовой ключ (диапазон прозрачности) для определенной категории.

SetColorMatrices(ColorMatrix, ColorMatrix)

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

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag)

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

SetColorMatrices(ColorMatrix, ColorMatrix, ColorMatrixFlag, ColorAdjustType)

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

SetColorMatrix(ColorMatrix)

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

SetColorMatrix(ColorMatrix, ColorMatrixFlag)

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

SetColorMatrix(ColorMatrix, ColorMatrixFlag, ColorAdjustType)

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

SetGamma(Single)

Задает гамма-значение для категории по умолчанию.

SetGamma(Single, ColorAdjustType)

Задает гамма-значение для определенной категории.

SetNoOp()

Отключает настройку цвета для категории по умолчанию. Можно вызвать метод ClearNoOp, чтобы восстановить параметры настройки цвета, использовавшиеся до вызова метода SetNoOp.

SetNoOp(ColorAdjustType)

Отключает настройку цвета для определенной категории. Можно вызвать метод ClearNoOp, чтобы восстановить параметры настройки цвета, использовавшиеся до вызова метода SetNoOp.

SetOutputChannel(ColorChannelFlag)

Устанавливает выходной канал CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный) для категории по умолчанию.

SetOutputChannel(ColorChannelFlag, ColorAdjustType)

Устанавливает выходной канал CMYK (cyan-magenta-yellow-black или голубой-пурпурный-желтый-черный) для указанной категории.

SetOutputChannelColorProfile(String)

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

SetOutputChannelColorProfile(String, ColorAdjustType)

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

SetRemapTable(ColorAdjustType, ReadOnlySpan<ColorMap>)

Содержит сведения о том, каким образом обрабатываются цвета точечных рисунков и метафайлов во время отрисовки.

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

Содержит сведения о том, каким образом обрабатываются цвета точечных рисунков и метафайлов во время отрисовки.

SetRemapTable(ColorMap[])

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

SetRemapTable(ColorMap[], ColorAdjustType)

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

SetRemapTable(ReadOnlySpan<ColorMap>)

Содержит сведения о том, каким образом обрабатываются цвета точечных рисунков и метафайлов во время отрисовки.

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

Содержит сведения о том, каким образом обрабатываются цвета точечных рисунков и метафайлов во время отрисовки.

SetThreshold(Single)

Задает пороговое значение (диапазон прозрачности) для категории по умолчанию.

SetThreshold(Single, ColorAdjustType)

Задает пороговое значение (диапазон прозрачности) для указанной категории.

SetWrapMode(WrapMode)

Задает режим переноса, который используется для принятия решения о способе печати текстуры по всей фигуре или на границах фигуры. Текстура накладывается по всей фигуре, заполняя ее, если текстура меньше заполняемой фигуры.

SetWrapMode(WrapMode, Color)

Задает режим переноса и цвет, которые используются для определения метода мозаичного наложения текстуры: по всей фигуре или на краях фигуры. Текстура накладывается по всей фигуре, заполняя ее, если текстура меньше заполняемой фигуры.

SetWrapMode(WrapMode, Color, Boolean)

Задает режим переноса и цвет, которые используются для определения метода мозаичного наложения текстуры: по всей фигуре или на краях фигуры. Текстура накладывается по всей фигуре, заполняя ее, если текстура меньше заполняемой фигуры.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

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

См. также раздел