![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нереальные цвета после масштабирования битмапа
Vinum © (2008-05-20 00:30:00)Здравствуйте. Вопрос в следующем: есть форма, на форме пэйнтбокс. Хочу в нем по клику отобразить картинку, уменьшенную в 2 раза.
uses tinyJPGGIFBMP;
procedure TForm1.Button1Click(Sender: PObj);
var rect:trect; pic:pbitmap;
begin
pic:=NewBitmap(0,0);
tinyLoadJPGGIFBMPfile(pic,'111.jpg');
paintbox1.Height:=trunc(pic.Height/2);
paintbox1.Width:=trunc(pic.Width/2);
rect.Left:=0;
rect.Top:=0;
rect.BottomRight.X:=trunc(pic.Width/2);
rect.BottomRight.Y:=trunc(pic.Height/2);
pic.StretchDraw(paintbox1.canvas.handle,rect);
pic.Free;
end;
если масштаб картинки 1:1, то она рисуется хорошо. Но если начинаешь ее уменьшать в размерах, то такое ощущение, что цвета куда-то деваются, и вообще нереальными какими-то становятся.
Это можно как-нибудь решить?
Vinum (2008-05-20 07:39:00) [1]>перед pic.StretchDraw:
> SetStretchBltMode(paintbox1.canvas.Handle, HALFTONE);
Дмитрий К, спасибо большое
>Рисовать лучше в OnPaint.
Я знаю :) мне б так сначала нарисовать надо было
Дмитрий К (2008-05-20 00:46:00) [2]перед pic.StretchDraw:
SetStretchBltMode(paintbox1.canvas.Handle, HALFTONE);
Рисовать лучше в OnPaint.