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

Вниз

Привет всем! Проблемы с сохранением рисунка.   Найти похожие ветки 

 
multik ©   (2003-03-26 19:00) [0]

Есть image. Я загружаю файл *.ico, работаю с ним (присваиваю его imagelist"у, потом обратно) и наконец сохраняю его следующим образом:
image1.picture.savetofile(expandfilename ("newname.ico")); //сохранение в новый файл
Но до сохранения файл был красивым, на все 256 колор. А после сохранения он становиться плохого качества.


 
Переяслов Григорий ©   (2003-03-26 19:03) [1]

Image1.Picture.Bitmap.PixelFormat := pf24Bit;


 
multik ©   (2003-03-26 19:48) [2]

>Переяслов Григорий - Спасибо что ответили :)
Но всёравно не получается :(
я написал:
Image1.Picture.Bitmap.PixelFormat := pf24Bit;
image1.picture.savetofile(expandfilename("newname.ico"));
Но он упорно сохраняет рисунки в плохом качестве.
Может я что-то сделал не так. Плиз, помогите кто может!!!


 
icWasya ©   (2003-03-26 20:24) [3]

PixelFormat надо присваивать до того, как что нибудь на нем рисуешь


 
multik ©   (2003-03-26 20:56) [4]

Написал
Image1.Picture.Bitmap.PixelFormat := pf24Bit;
при загрузке формы(TForm1.FormCreate), но всё равно не катит.

Может проблема из-за корявого кода. Я сначала загружаю рисунок:
image1.Picture.LoadFromFile(openpicturedialog1.FileName);
потом рисунок присваивается imagelist"у:
ImageList1.AddIcon(image1.Picture.Icon);
Потом опять присваиваю image1"у:
imagelist1.GetIcon(1,image1.Picture.Icon);
И только потом пишу
image1.picture.savetofile(expandfilename("newname.ico"));
Может что-то здесь не так. Почему после таких действий он ухудшает качество. Заранее всем спасибо.


 
Grinia   (2003-03-26 21:06) [5]

Вообще, на сколько я знаю икона грузится со стандартным 16-цветовом комплекте. Я чё-то делал подобное давно - всё работало.
Небольшое примечание: image1.picture.savetofile сохраняет в формате bmp. Попробуй что-ли LoadImage:

var i:TIcon;
i:=TIcon.Create;
i.Handle:=LoadImage(0,PChar(openpicturedialog1.FileName),IMAGE_ICON,32,32,LR_LOADFROMFILE or LR_COLOR);


 
multik ©   (2003-03-26 22:47) [6]

>Grinia
Сэнкс, что помогли. Написал всё как у вас, но он упорно сохраняет
в плохом качестве.
Но после экспирементов пришёл к такому выводу:
рисунок успешно загружается в image1. Но вся бадягя начинается когда я пишу ImageList1.AddIcon(image1.Picture.Icon);
Здесь я думаю происходит переделавания рисунка на более худший формат. А когда я его присваиваю image1"у (imagelist1.GetIcon(1,image1.Picture.Icon); и сохраняю его image1.picture.savetofile(expandfilename("newname.ico")); то соответственно он сохраняет с плохим качеством. Поэтому всё дело в imagelist1.
Тогда такой вопрос: как надо правильно загрузить рисунок (*.ico) в imagelist, чтобы не ухудшалось качество.


 
multik ©   (2003-03-26 23:33) [7]

Я тут одну не точность нашёл:
imagelist изменяет качество после строки imagelist1.GetIcon(1,image1.Picture.Icon)
Поэтому надо что-то написать другое. Так как нада сохраняет
imagelist1.GetBitmap(), но он не подходит, т.к. потом image сохраняет файл как bmp (не обращая внимания на расширение), а мне нужно как ico. Что мне делать?



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
14-19869
handra
2003-03-21 15:36
2003.04.07
Единая база процедур и функций для Delphi


14-19826
Анонимщик
2003-03-19 18:41
2003.04.07
Сервисы, реестр, безопасность


9-19405
RAVEN
2002-11-04 10:41
2003.04.07
Экспорт из 3DSMax 5.0 в Delphi


14-19808
X-Man
2003-03-15 18:53
2003.04.07
Помогите сеть настроить!!!


8-19699
nomshar
2002-12-31 01:24
2003.04.07
Масштабирование изображений