![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Картинку из файла уменьшить и поместить в tbitmap
Rembo © (2010-05-26 10:34:00)Всем привет!
Делаю так:
var pic:TPicture;bmp1,bmp2:tbitmap;
...
pic.LoadFromFile('image.jpg');
bmp1.Assign(pic.Graphic);
bmp2.Canvas.CopyRect(rect(0,0,164,164), bmp1.Canvas,rect(0,0,bmp1.Width,bmp1.Height));
В итоге получаю уменьшенную картинку в bmp2, но при этом вижу дефект цветов, то есть она имеет вид будто открыли в пейнте 32 битный бмпшник и сохранили в 8 битный. Как это можно исправить?
Rembo (2010-05-26 12:03:00) [1]bmp2.PixelFormat := pf24bit; - непомгло
SetStretchbltMode - искал не нашел, за то нашел:
bmp1.Canvas.StretchDraw(rect(0,0,164,164),pic.Graphic); - все получилось пасиба
MBo (2010-05-26 11:51:00) [2]SetStretchbltMode у приемного Canvas установить в HALFTONE
Омлет (2010-05-26 11:41:00) [3]А зачем bmp1? Можно сразу на bmp2 уменьшать из pic.
bmp2.PixelFormat := pf24bit;
Rembo (2010-05-26 10:44:00) [4]tbitmap грузит токо *.bmp а tpicture сам определяет какую графику использовать Tjpgimage или Tgifimage и т.д
Andy BitOff (2010-05-26 10:38:00) [5]А зачем pic? Почему нельзя сразу загрузить в bmp1?