Форум: "Основная";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
ВнизПривет всем! Проблемы с сохранением рисунка. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c