Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > прозрачный цвет у application icon


Автор: ilyalyu 11.7.2007, 19:46
Кто-нибудь знает как из .gif сделать application icon (.ico), но так чтобы у нее был прозрачный цвет?

Автор: Alexeis 11.7.2007, 19:59
1) .gif -> bitmap
2) задать цвет прозрачности
3) По bitmap сделать "and" маску.
4) Записать заголовок иконки, затем bitmap (XOR маску) и затем "and" маску в файл.

То что получиться и будет иконкой.

Автор: ilyalyu 12.7.2007, 12:16
Вообще-то проблема была в другом. Я создавал .ico из .gif с помощью irfanview, но почему-то Delphi отказывалась использовать прозрачный цвет. Оказалась, проблема решается, если еще раз открыть созданный .ico файл с помощью irfanview и снова сохранить его.

Автор: Snowy 12.7.2007, 12:34
Это проблема не дельфи, а ирфана.
Он просто не пишет прозрачный цвет при конвертации, редиска.

Автор: ilyalyu 13.7.2007, 23:10
да, я уже понял... а сколько мучился, прежде чем догадался повторно сохранить уже созданный с помощью ирфана .ico файл... точно, редиска!

Автор: former 24.7.2007, 10:51
В продолжение темы. Пытаюсь запихнуть 32-битную иконку в Application.Icon, что бы на рабочем столе она была прозрачной. Как это можно сделать? Можно ли запихнуть её из PNGImageList?

Автор: Alexeis 24.7.2007, 11:42
former, 32-битная иконка нормально добавляется в проект через свойства проекта в Delphi 2007. smile
  А вообще ее там можно заменить каким нибудь ресторатором.

Добавлено через 2 минуты и 46 секунд
 В турбо делфи (2006) тоже порядок с 32битными иконками.

Автор: former 24.7.2007, 12:23
Alexeis, просто у меня проект на Delphi 7. А про 2007 я в курсе.

Автор: Alexeis 24.7.2007, 12:28
Есть еще такой вариант. Отредактировать Res файл проекта с иконкой, вставив туда новую, тогда при каждой компиляции красивая иконка всегда будет на месте.

Автор: former 24.7.2007, 14:13
Спасибо за советы. Пуду пробовать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)