Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.20;
Скачать: CL | DM;

Вниз

Глупый ворос   Найти похожие ветки 

 
Serg455   (2002-09-22 20:27) [0]

В Faq delphi.mastak.ru написано как сделать иконку из битмапа.
Если ее попробовать сохранить в фаил icon.SaveToFile("ou.ico");
, то она переконвертируется в 16 цветов.Как сохранить ее с 256-ю цветовой палитрой?


 
Serg455   (2002-09-23 23:39) [1]

Неужели никто не знает как????


 
nsvi   (2002-09-24 02:10) [2]

Этот вопрос я задавал много раз. Похоже, никто не знает, почему так происходит. В разной литературе упоминается, что иконки 32х32 сохраняются только в 16 цветном варианте, однако у меня есть много иконок с плавным изменением цветового тона и размером гораздо больше стандартного 766 байт. Подозреваю, что делаются они каким-то другим путем, не через SaveToFile.
Еще одно: возможно надо как-то использовать палитру, может быть 16 цветов - это число примененных в данной иконке цветов, а не стандартных. Сейчас пробую этот вариант, может быть что-то получится.
А на этот форум ходят в основном такие-же начинающие, гуру появляются редко, поэтому никто не может ответить.


 
nsvi   (2002-09-30 02:02) [3]

Снова я. Вот, разобрался.
Действительно, используя стандартную функцию SaveToFile многоцветную иконку не сохранить. Дело даже не в том, что количество цветов уменьшается, а в том, что все цвета переделываются так, как это известно только Майкрософту.
Поэтому я пошел другим путем.
Просмотрев некоторое количество иконок (коды их, конечно) и почитав где только можно о структуре иконок (как мало информации!), я решил использовать методику "не мытьем, так катаньем", то есть создать массив байт - образ файла иконки, используя для этого примитивные паскалевские алгоритмы, а затем записать этот массив на диск, добавив расширение .ico. И все получилось. Можно таким образом создавать иконки и 16 и 24 бит, хотя, думаю, это не нужно, так как у иконки всего 32х32=1024 пиксела и больше 256 цветов, я думаю, не нужно.
Если еще есть интерес к этой проблеме, пиши, поделюсь кодами. Мыло реальное.


 
nsvi   (2002-10-03 02:30) [4]

Решение:

http://www.forum.vingrad.ru/cgi-bin/newforum/ikonboard.cgi?s=3d9a89de6e38ffff;act=ST;f=32;t=3497



Страницы: 1 вся ветка

Текущий архив: 2003.01.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
6-62701
badaxe
2002-11-22 11:39
2003.01.20
Список назначеных ip адресов под WIN2K.


1-62645
Лана Розанова
2003-01-09 16:51
2003.01.20
Перевод с С++


3-62381
Essense
2002-12-24 11:10
2003.01.20
Too many concurrent executions


7-62862
Oleg_1
2002-11-07 13:11
2003.01.20
Количество обращений к файлу


1-62653
Влад_Ч
2003-01-09 19:06
2003.01.20
Быстрая запись на диск