| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > прозрачность (psd или любой другой) |
| Автор: gonzales 24.12.2007, 13:15 |
| подскажите, как достать маску прозрачности, сохраненную например в psd-формате (или png, хотя я не понял в упор, как она там сохраняется, при сохранении png в фотошопе альфаканал пропадает). необходимо это для отображения правильной тени от объекта. как прописовать саму тень ясно. вариант с загрузкой маски из отдельного файла не предлагать. пробую загружать psd с помощью библиотек GraphicEx. А вот как извлечь альфаканал в упор не могу понять |
| Автор: Alexeis 24.12.2007, 20:18 |
| gonzales, если использовать PNGImage, то у него есть свойство AlphaScanLine, которое дает доступ к альфа-каналу на подобии обычного ScanLine. Очевидно, что альфа-канал храниться отдельно у него. |
| Автор: gonzales 24.12.2007, 22:01 |
| а PNGImage поддерживает другие форматы кроме png? в принципе обычный 32-битный bmp-файл корректно обрабатывается обычным AlphaBlend, но и из него я не смог извлечь альфаканал. |
| Автор: gonzales 25.12.2007, 10:16 | ||
| спасибо. а вот такой конструкцией нельзя его выцепить?
|
| Автор: Alexeis 25.12.2007, 11:26 |
Думаю просто битмапка неправильная. Приатачиваю битмапку где пример указанный пример работает. |
| Автор: gonzales 25.12.2007, 11:59 | ||
нет, битмэпка правильная. У меня ощущение, что я не правильно сканлайн организовываю. Ведь есть разница между pf32bit и pf8bit? Добавлено через 13 минут и 46 секунд и еще один вопрос, в архиве лежит проект, практически идентичный вот этому http://forum.vingrad.ru/topic-54390.html при джина из бутылки. Но выходит какая-то лажа. Не пойму почему |
| Автор: Alexeis 25.12.2007, 12:38 | ||
А у меня не ощущение, а факты. Я проверял твой код и получил в Line[i]. A правильное значение альфы. У меня альфа больше нуля начинается с 7 строки, так примерно и есть на моей картинке. Альфа почти сразу переходит к уровню полной непрозрачности (255), так и есть на рисунке. У меня полное соответствие. Формат я указывал pf32bit . Байты и идут в порядке BGRA. |
| Автор: gonzales 25.12.2007, 12:59 |
| спасибо, буду копаться |