Я хочу реализовать систему разделения на уровни в своем приложении, и размышление создавало набор прозрачных растровых изображений, добавляя содержание к ним затем блитирование их друг на друге, как это может быть сделано, не устанавливая каждый пиксель на (0,0,0,0). Я использую Чистый win32, не MFC, спасибо.
Что вы имеете в виду под прозрачным?
Если вы ищете частичную (или полную) прозрачность, тогда AlphaBlend - это API GDI, который следует использовать. Загрузка растровых изображений с альфа-каналом сложна - единственный формат, поддерживаемый базовым API Windows для загрузки растровых изображений с альфа-каналом, - это файл .BMP 32bpp с альфа-каналом в верхних 8 битах каждого байта, а младшие байты должны быть предварительно умножены.
Можно использовать GDI + для загрузки различных форматов изображений с альфа-каналом - PNG, вероятно, лучше всего подходит и переносится на 32bpp DIBSection, чтобы вы могли использовать AlphaBlend и старые функции GDI.
Если вам нужна простая маска прозрачности, а не полный альфа-канал, вы можете использовать TransparentBlt вместе с цветовым ключом, чтобы замаскировать области растрового изображения при его копировании.
GDI не поддерживает прозрачность в растровых изображениях и в целом. Рассмотрите возможность использования GDI + .