Метод Graphics::SetCompositingMode (gdiplusgraphics.h)

Метод Graphics::SetCompositingMode задает режим композитирования этого объекта Graphics .

Синтаксис

Status SetCompositingMode(
  [in] CompositingMode compositingMode
);

Параметры

[in] compositingMode

Тип: CompositingMode

Элемент перечисления CompositingMode , задающий режим создания элементов.

Возвращаемое значение

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .

Если метод завершается ошибкой, он возвращает один из других элементов перечисления Status .

Комментарии

Предположим, вы создаете объект SolidBrush на основе цвета с альфа-компонентом 192, что составляет около 75 процентов от 255. Если для объекта Graphics задан режим компоновки CompositingModeSourceOver, то области, заполненные сплошной кистью, представляют собой смесь цвета кисти 75 процентов и цвета фона 25 процентов. Если для объекта Graphics задан режим компоновки CompositingModeSourceCopy, цвет фона не смешивается с цветом кисти. Однако цвет, отображаемый кистью, имеет интенсивность, которая составляет 75 процентов от того, что было бы, если бы альфа-компонент был 255.

CompositingModeSourceCopy нельзя использовать вместе с TextRenderingHintClearTypeGridFit.

Примеры

В следующем примере создается объект Graphics и устанавливается режим создания compositingModeSourceOver. Код создает объект SolidBrush на основе цвета, который имеет альфа-компонент 128. Код передает адрес этой кисти методу Graphics::FillRectangle объекта Graphics , чтобы заполнить прямоугольник цветом, который представляет собой половину смешения цвета кисти и цвета фона. Затем код задает режим компонирования объекта Graphics в состояние CompositingModeSourceCopy и заполняет второй прямоугольник той же кистью. В этом втором прямоугольнике цвет кисти не смешивается с цветом фона.

VOID Example_SetCompositingMode(HDC hdc)
{
   Graphics graphics(hdc);
   
   // Create a SolidBrush object with an alpha-blended color.
   SolidBrush alphaBrush(Color(180, 255, 0, 0));

   // Set the compositing mode to CompositingModeSourceOver,
   // and fill a rectangle.
   graphics.SetCompositingMode(CompositingModeSourceOver);
   graphics.FillRectangle(&alphaBrush, 0, 0, 100, 100);

   // Set the compositing mode to CompositingModeSourceCopy,
   // and fill a rectangle.
   graphics.SetCompositingMode(CompositingModeSourceCopy);
   graphics.FillRectangle(&alphaBrush, 100, 0, 100, 100);
}

Требования

   
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusgraphics.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

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

Альфа-смешение цвета для линий и заливок

CompositingMode

Графика

Graphics::GetCompositingMode

Graphics::GetCompositingQuality

Graphics::SetCompositingQuality

Graphics::SetTextRenderingHint

HatchBrush

Новые функции

SolidBrush

TextRenderingHint