Главная страница
    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
3-19452
БАА
2003-03-15 17:50
2003.04.07
Выборка единственной строки из многих....


14-19761
KPY
2003-03-22 10:06
2003.04.07
Поздравляю народ с НАУРЫЗОМ!


14-19773
an
2003-03-23 03:24
2003.04.07
Для перехода на D7 нужен FastReport для D7 , а точнее frClass


3-19476
melavcorp
2003-03-19 15:02
2003.04.07
DBImage и format JPEG


14-19805
OxOTHuK
2003-03-20 07:48
2003.04.07
Pointer s ака Указатели





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский