Я хочу внедрить систему слоев в моем приложении и думал о создании пучки прозрачных растровых изображений, добавляя к ним контент, а затем смешал их друг над другом, как это можно сделать без установки каждого пикселя (0,0 , 0,0). Я использую Pure win32, а не MFC, спасибо.Создание прозрачного растрового изображения с GDI?
ответ
Что вы подразумеваете под прозрачностью?
Если вы ищете частичную (полную) прозрачность, то AlphaBlend - это API GDI для использования. Загрузка растровых изображений с альфой сложна. Единственный формат, поддерживаемый базовым окном API для загрузки растровых изображений с альфой, - это 32-битный файл .BMP с альфа-каналом в верхних 8 битах каждого байта - и нижние байты должны быть предварительно умножены.
Возможно использование GDI + для загрузки различных форматов изображений с альфа-PNG, вероятно, лучше всего подходит, и blit на 32bpp DIBSection, чтобы вы могли использовать AlphaBlend и простые функции GDI.
Если вам нужна простая прозрачная маска, а не полный альфа-канал, вы можете использовать TransparentBlt вместе с цветовой клавишей, чтобы замаскировать области растрового изображения, когда они бьют.
GDI не поддерживает прозрачность в растровых изображениях и в целом. Рассмотрим использование GDI+.
- 1. Возможно создание управляемого (не-GDI) растрового изображения?
- 2. Создание полностью прозрачного изображения
- 3. Добавление прозрачного растрового изображения к кнопке Windows
- 4. Очистить часть растрового изображения до прозрачного
- 5. Наложение прозрачного растрового изображения на изображение image
- 6. Рисование прозрачного растрового изображения на панели
- 7. Выполнение касания области растрового изображения до прозрачного
- 8. GDI +: необработанное исключение при рисовании растрового изображения
- 9. Создание растрового изображения зрения
- 10. Создание масштабированного растрового изображения
- 11. Создание прозрачного изображения в OpenCV
- 12. C# получить от бинарного изображения до прозрачного растрового изображения
- 13. Создание фона прозрачного изображения с использованием opencv
- 14. Android: Рисунок Прозрачного растрового изображения на холсте с некоторым цветом
- 15. Создание центрированного масштабированного растрового изображения
- 16. Динамическое создание сжатого растрового изображения
- 17. Создание растрового изображения из drawable
- 18. Создание растрового изображения из double []
- 19. создание растрового изображения из существующего растрового изображения, в C
- 20. Создание растрового изображения в C
- 21. Создание прямоугольника вокруг растрового изображения
- 22. Как изменить цвет фона сохраненного прозрачного растрового изображения
- 23. Android: создание растрового изображения с содержимым SurfaceView
- 24. Создание растрового изображения с использованием строки
- 25. Создание растрового изображения с использованием XSL-FO
- 26. Процедурное создание растрового изображения с помощью PyQt
- 27. Создание растрового изображения с dot.net и png
- 28. Создание растрового изображения с помощью Пикассо
- 29. Создание нового растрового изображения, начинающегося с старого?
- 30. Создание растрового изображения с видом на Android
Он сортирует - он поддерживает прозрачное смешивание одного растрового изображения на другом, используя альфа-компоненты в растровом изображении через AlphaBlend. Существуют также нечетные расширения для поддержки Aero в окнах, которые также могут рассчитывать. Вы правы в общем случае. –
Существует также TransparentBlt, но при использовании 32-битных изображений (например, с указанными прозрачностью) AlphaBlend - это путь. – dlanod