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 к красным, зеленым и синим компонентам.
На приведенном ниже рисунке показаны исходное изображение слева и преобразованное изображение справа.
Код в примере использует следующие действия для выполнения перекраски:
Инициализация объекта ColorMatrix.
Создание объекта ImageAttributes и передача объекта ColorMatrix в метод SetColorMatrix объекта ImageAttributes.
Передача объекта 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() |
Очищает параметр |
ClearNoOp(ColorAdjustType) |
Очищает параметр |
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) |