Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
альфа-смешивание используется для отображения альфа-растрового изображения, которое представляет собой точечный рисунок с прозрачными или полупрозрачными пикселями. Помимо красного, зеленого и синего цветового канала каждый пиксель в альфа-растровом рисунке имеет компонент прозрачности, известный как альфа-канал. Альфа-канал обычно содержит столько битов, сколько цветового канала. Например, 8-разрядный альфа-канал может представлять 256 уровней прозрачности от 0 (весь растровый рисунок прозрачный) до 255 (весь растровый рисунок непрозрачн).
Механизмы альфа-смешивания вызываются вызовом AlphaBlend, который ссылается на структуру BLENDFUNCTION.
Альфа-значения на пиксель поддерживаются только для 32-bpp BI_RGB. Эта формула определяется следующим образом:
typedef struct {
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
};
Это представлено в памяти, как показано в следующей таблице.
31:24
23:16
15:08
07:00
Альфа
Красный
Зеленый
Синий
Растровые изображения также могут отображаться с коэффициентом прозрачности, примененным ко всей растровой карте. Любой формат растрового изображения можно отобразить с глобальным альфа-значением константы, задав SourceConstantAlpha в структуре BLENDFUNCTION. Глобальное альфа-значение константы имеет 256 уровней прозрачности, от 0 (весь растровый рисунок полностью прозрачный) до 255 (весь растровый рисунок полностью непрозрачн). Глобальное альфа-значение константы объединяется со значением альфа для каждого пикселя.
Пример см. в разделе Альфа-смешивание растрового изображения.