Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.008 c
14-19846
Vlad Oshin
2003-03-21 10:18
2003.04.07
У нас воздушная тревога :)


3-19503
Behemoth
2003-03-20 10:26
2003.04.07
Ошибка при вызове ADOQuery.ExecSQL...


14-19838
Malder
2003-02-27 23:31
2003.04.07
Большой куш (snatch)


3-19496
Rustik
2003-03-19 16:29
2003.04.07
Инкрементальный поиск в DBLookUpComboBox


14-19815
Supreme 2
2003-03-19 00:39
2003.04.07
Зачем нужна война с Ираком?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский