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

Вниз

Загружать и сохранять в многоцветные иконки...   Найти похожие ветки 

 
Minori   (2004-06-08 21:54) [0]

Проблемма: есть иконка (цветов >=256 или около того), нужно ее сохранить на диск. Вызов SaveToFile вызывает ошибку "инвалидский битмап".
Кто знает, уделите немного времени. Спасибо.


 
able ©   (2004-06-08 21:55) [1]


> нужно ее сохранить на диск.

А в каком формате-то??


 
Minori   (2004-06-08 22:01) [2]

А в любом, но логичнее было бы в иконочном. *.ico


 
Gero ©   (2004-06-08 22:50) [3]

TIcon.SaveToFile


 
Minori   (2004-06-09 10:08) [4]

//TIcon.SaveToFile

Вот спасибо, ты верхний пост читал?
Так многоцветные иконки либо сохраняются с потерей "лишних" цветов, либо вообще не сохраняются, выдавая ошибку.


 
Gero ©   (2004-06-09 10:15) [5]


> Minori   (09.06.04 10:08)

Я обычно читаю посты.
Какая-то никому не известная функция SaveToFile, название которой к тому же совпадает с названиями медодов TBitmap, TIcon, TPicture и других классов.
Ты привел свой код? Нет?
Вот сначала приведи, а потом недовольство высказывать будешь.
Сколько цветов в иконке? Откуда ее берешь?


 
Minori   (2004-06-09 11:15) [6]

2 Gero
Неправ, извини...

Код приводить не буду - очень длинно получится. Да и похоже, что именно в этом месте ошибка.

Делаю прогу, которая из заданного каталога перебирает все exe-хи и dll-ы, ExtractIcon-ит их и сохраняет все иконки на диск. Так должно быть в идиале.
Когда прога добирается до определенных файлов типа "c:\windows\system32\osk.exe" в XP, все это дело вылетает с ошибкой <EInvalidGraphic with message "Bitmap image is not valid"> в момент Ticon.SaveToFile

Пример такой ошибки:

uses ShellApi...
...
procedure TForm1.Button1Click(Sender: TObject);
var ic: ticon;
begin
ic:= ticon.Create;
ic.Handle:=ExtractIcon(HInstance,"c:\windows\system32\osk.exe",1);
form1.Canvas.Draw(0, 0, ic);
ic.SaveToFile("c:\temp\1.ico");
end;


Но это только полбеды - все иконки, имеющие 256 и боле цветов, сохраняются с потерей цветности, хотя и отображаются в Сanvase.



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

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

Наверх




Память: 0.48 MB
Время: 0.037 c
3-1085734698
Mva
2004-05-28 12:58
2004.06.20
Вставка в таблицу запросом


14-1086329974
Мазут Береговой
2004-06-04 10:19
2004.06.20
Россия - один из штатов Америки?


1-1086679250
z3f
2004-06-08 11:20
2004.06.20
Ошибка 103 - почему?


14-1086207122
Константинов
2004-06-03 00:12
2004.06.20
Вопрос геймерам


4-1084434412
Alekss
2004-05-13 11:46
2004.06.20
Быстое копирование (снимок) рабочего стола