| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Звук, графика и видео > ImageList и Bitmap.PixelFormat = pf32bit |
| Автор: Illusion Dolphin 13.9.2010, 13:01 |
| Всем добрый день! Давно столкнулся с проблемой загрузки изображения с прозрачностью в ImageList, суть проблемы такова: если надо загрузить изображение где определённый цвет будет прозрачным, то проблем никаких нет - существует маска однобитовая (ImageList_Add) или просто TransparentColor (ImageList_AddMasked). А как быть если в изображении есть не только прозначные, но и полупрозрачные элементы? Существует ли возможность Bitmap с PixelFormat = pf32bit корректно загрузить в ImageList ? P.S. Версии Windows ниже XP не рассматриваются. |
| Автор: Snowy 13.9.2010, 13:33 |
| Для полупрозрачных изображений лучше использовать png C ico и bitmap постоянно какие-то заморочки. |
| Автор: Illusion Dolphin 14.9.2010, 11:58 | ||
Изображение формируется в runtime, я могу его и в PNG перевести, но изображение будет использоваться как Drag&Drop картинка, для Drag&Drop PNG неприменим. Вопрос всё же открыт. P.S. Как результат - предполагается сделать Drag&Drop файлов в стиле Windows7. |
| Автор: Illusion Dolphin 14.9.2010, 16:03 |
| Всё тестировалось изначально на D2010. Танцы с бубном решили проблему. Судя по всему проблема возникала только в связке с Drag&drop, т.к. при обычном TImageList.Draw никаких сбоев не наблюдалось. Тестирование показало что если изображение имеет в точке ПОЛНУЮ ПРОЗРАЧНОСТЬ то прозрачность почему-то отбрасывалась. Мне сие не понятно, но ограничение максимальной прозрачности до 1 (единицы) решило проблему. Всем спасибо за участие! |