Метод ImageAttributes::SetColorKey (gdiplusimageattributes.h)
Метод ImageAttributes::SetColorKey задает ключ цвета (диапазон прозрачности) для указанной категории.
Синтаксис
Status SetColorKey(
[in, ref] const Color & colorLow,
[in, ref] const Color & colorHigh,
[in, optional] ColorAdjustType type
);
Параметры
[in, ref] colorLow
Тип: const Color
Ссылка на объект Color , указывающий значение ключа с низким цветом.
[in, ref] colorHigh
Тип: const Color
Ссылка на объект Color , указывающий высокое значение ключа цвета.
[in, optional] type
Тип: ColorAdjustType
Элемент перечисления ColorAdjustType , указывающий категорию, для которой задан ключ цвета. Значение по умолчанию — ColorAdjustTypeDefault.
Возвращаемое значение
Тип: Состояние
В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .
Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .
Комментарии
Этот метод задает высокие и низкие значения цветовых ключей, чтобы обеспечить прозрачность цветов. Любой цвет с тремя компонентами (красный, зеленый, синий) между соответствующими компонентами клавиши высокого и низкого цвета делается прозрачным.
Объект ImageAttributes поддерживает параметры цвета и оттенков серого для пяти категорий корректировки: по умолчанию, точечный рисунок, кисть, перо и текст. Например, можно указать цвет для категории по умолчанию, другой цвет для категории точечных рисунков и другой цвет для категории пера.
Параметры настройки цветов и оттенков серого по умолчанию применяются ко всем категориям, у которых нет собственных параметров настройки. Например, если вы никогда не указываете параметры корректировки для категории пера, то параметры по умолчанию применяются к категории пера.
Как только вы укажете параметр настройки цветов или оттенков серого для определенной категории, параметры настройки по умолчанию больше не применяются к этой категории. Например, предположим, что вы указали коллекцию параметров корректировки для категории по умолчанию. Если задать ключ цвета для категории пера, передав ColorAdjustTypePen в метод ImageAttributes::SetColorKey , ни один из параметров настройки по умолчанию не будет применяться к ручкам.
Примеры
В следующем примере создается объект Image из файла .bmp. Код также создает объект ImageAttributes . Вызов ImageAttributes::SetColorKey задает ключ цвета растрового изображения объекта ImageAttributes , чтобы любой цвет, удовлетворяющий всем трем из следующих условий, был прозрачным:
- Красный компонент находится в диапазоне от 100 до 250.
- Зеленый компонент находится в диапазоне от 95 до 245.
- Синий компонент находится в диапазоне от 30 до 60.
VOID Example_SetColorKey(HDC hdc)
{
Graphics graphics(hdc);
// Create an Image object based on a BMP file.
// The image has three horizontal stripes.
// The color of the top stripe has RGB components (90, 90, 20).
// The color of the middle stripe has RGB components (150, 150, 150).
// The color of the bottom stripe has RGB components (130, 130, 40).
Image image(L"ColorKeyTest.bmp");
// Create an ImageAttributes object, and set its color key.
ImageAttributes imAtt;
imAtt.SetColorKey(
Color(100, 95, 30),
Color(250, 245, 60),
ColorAdjustTypeBitmap);
// Draw the image. Apply the color key.
// The bottom stripe of the image will be transparent because
// 100 <= 130 <= 250 and
// 95 <= 130 <= 245 and
// 30 <= 40 <= 60.
graphics.DrawImage(
&image,
Rect(20, 20, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt);
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP, Windows 2000 Профессиональная [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | gdiplusimageattributes.h (включая Gdiplus.h) |
Библиотека | Gdiplus.lib |
DLL | Gdiplus.dll |
См. также раздел
ImageAttributes::ClearColorKey