Метод 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 |
См. также раздел
Альфа-смешение цвета для линий и заливок
Graphics::GetCompositingQuality
Graphics::SetCompositingQuality