![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Illusion Dolphin |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
Всем добрый день!
Давно столкнулся с проблемой загрузки изображения с прозрачностью в ImageList, суть проблемы такова: если надо загрузить изображение где определённый цвет будет прозрачным, то проблем никаких нет - существует маска однобитовая (ImageList_Add) или просто TransparentColor (ImageList_AddMasked). А как быть если в изображении есть не только прозначные, но и полупрозрачные элементы? Существует ли возможность Bitmap с PixelFormat = pf32bit корректно загрузить в ImageList ? P.S. Версии Windows ниже XP не рассматриваются. -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 18 Всего: 484 |
Для полупрозрачных изображений лучше использовать png
C ico и bitmap постоянно какие-то заморочки. |
|||
|
||||
| Illusion Dolphin |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
Изображение формируется в runtime, я могу его и в PNG перевести, но изображение будет использоваться как Drag&Drop картинка, для Drag&Drop PNG неприменим. Вопрос всё же открыт. P.S. Как результат - предполагается сделать Drag&Drop файлов в стиле Windows7. -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
| Alexeis |
|
||||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Для версии 2010 сказано >ImageLists also support 32-bit format, so alpha blended bitmaps and PNG files work properly. Мне думается что это поддержка взялась от TPngImageList.
Я могу ошибаться, но вероятнее всего в памяти png объект храниться в виде 2х битмапов 24 бит и 8 бит для альфы (речь о картинке с альфой), поэтому операции должны производиться не намного медленнее чем с битмаопом 32 бита. Собственно сжатие должно производиться лишь при сохранении в файл. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
||||
|
|||||
| Illusion Dolphin |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 13 Всего: 63 |
Всё тестировалось изначально на D2010.
Танцы с бубном решили проблему. Судя по всему проблема возникала только в связке с Drag&drop, т.к. при обычном TImageList.Draw никаких сбоев не наблюдалось. Тестирование показало что если изображение имеет в точке ПОЛНУЮ ПРОЗРАЧНОСТЬ то прозрачность почему-то отбрасывалась. Мне сие не понятно, но ограничение максимальной прозрачности до 1 (единицы) решило проблему. Всем спасибо за участие! -------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |