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


Метод 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

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

Bitmap

Цвет

Coloradjusttype

Изображение

ImageAttributes

ImageAttributes::ClearColorKey

ImageAttributes::ClearThreshold

ImageAttributes::SetThreshold

Метафайл

Перекрашивание