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


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)

Очищает параметр выходного канала (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)

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

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