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 и более поздних версияхпакет
Конструкторы
ImageAttributes() |
Инициализирует новый экземпляр класса ImageAttributes. |
Методы
ClearBrushRemapTable() |
Очищает таблицу цветовой карты кисти этого объекта ImageAttributes. |
ClearColorKey() |
Очищает цветной ключ (диапазон прозрачности) для категории по умолчанию. |
ClearColorKey(ColorAdjustType) |
Очищает цветной ключ (диапазон прозрачности) для указанной категории. |
ClearColorMatrix() |
Очищает матрицу корректировки цвета для категории по умолчанию. |
ClearColorMatrix(ColorAdjustType) |
Очищает матрицу корректировки цвета для указанной категории. |
ClearGamma() |
Отключает коррекцию гамма для категории по умолчанию. |
ClearGamma(ColorAdjustType) |
Отключает гамма-коррекцию для указанной категории. |
ClearNoOp() |
Очищает параметр |
ClearNoOp(ColorAdjustType) |
Очищает параметр |
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) |