2013-03-27 3 views
1

У меня есть значки PNG для панели инструментов приложения Delphi XE3, которая добавляется к TActionToolbar через TImageList, альфа-канал становится темнее, чем должен, что приводит к тому, что значки выглядят плохо. Я думаю, что проблема связана с TImageList, а не с конкретным сообщением с TActionToolbar.Delphi TImageList PNG alpha оказывает слишком темное

Photoshop Макет:

Photoshop mockup

Фактический вид после импорта в TActionToolbar (альфа темнее синий для заливки папки):

Вот мои настройки инспектор объектов Delphi для TImageList (нет, выпуск не является имуществом BlendColor):

TImageList Object Inspector

Есть ли способ получить Delphi/Windows/кто бы ни был виновником, чтобы правильно отобразить альфа-канал? Опция состоит в том, чтобы сделать иконки все растровые изображения, но я бы не стал испытывать головную боль редактирования изображений с прозрачным цветом, потому что, ну, я бы предпочел не вернуться к дням динозавров ... TIA.

+0

Установите 'TImageList.ColorDepth'' 'cd32bit'. –

+0

@KenWhite Он установлен на cd32Bit (снимок экрана, который я опубликовал). – spurgeon

+0

Извините. Прокси-сервер, с которым я работаю, не пропускает изображения, поэтому я думал, что ваш скриншот, скорее всего, был из самого изображения. :-) –

ответ

0

Лучший способ, с которым я столкнулся, - нарисовать цвет фона вашей панели инструментов Delphi (или любого элемента UI) под каждым пикселем, который содержит прозрачность в Photoshop, прежде чем сохранять изображение PNG. Таким образом, значки на панели инструментов полностью непрозрачны, за исключением 100% прозрачных пикселей, поэтому альфа-смешивание не происходит - и, следовательно, нет уродства.

Используйте RRUZ's code here, чтобы отключить иконки панели инструментов.