Форум: "KOL";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
ВнизПроблема с TBitmap.StretchDraw Найти похожие ветки
← →
Muxaspb © (2005-10-21 17:22) [0]Проблема такая:
процедуры
Canvas.StretchDraw(Rect, Bitmap) в VCL и
Bitmap.StretchDraw(DC, Rect) в KOL работают по-разному.
Если нужно уменьшить изображение, то в KOL результат гораздо хуже.
Как это можно исправить?
← →
thaddy (2005-10-21 19:00) [1]The results should be the same. In any case, make shure it"s a DIB bitmap, then KOL is even better or the same. Can you send me an example?
← →
Vladimir Kladov (2005-10-21 20:04) [2]SetStretchBltMode( Bitmap.Canvas.Handle, halftone );
← →
Muxaspb © (2005-10-22 00:11) [3]2 thaddy
First I tried to do this:procedure TForm1.PaintBox1Paint(Sender: PControl; DC: HDC);
begin
Bitmap.StretchDraw(DC, PaintBox1.ClientRect);
end;
Then I tried todo this:procedure TForm1.PaintBox1Paint(Sender: PControl; DC: HDC);
var
TempBMP: PBitmap;
begin
TempBMP:=NewDibBitmap(Bitmap.Width,Bitmap.Height, Bitmap.PixelFormat);
TempBMP.Assign(Bitmap);
TempBMP.StretchDraw(DC, PaintBox1.ClientRect);
TempBMP.Free;
end;
But result is the same.
You can see what I have: http://www.sghsrv.nm.ru/StretchDraw.jpg
2 Vladimir Kladov
То, что Вы написали, ничего не меняет.
← →
Vladimir Kladov (2005-10-22 08:08) [4]надо наоборот
SetStretchBltMode( TargetCanvas.Handle {у вас = DC}, halftone )
← →
thaddy (2005-10-22 11:52) [5]Vladimir is right ;)
I have tested it. This works exactly the same:
procedure TForm1.dopaint(sender: Pcontrol; dc: hdc);
begin
SetStretchBltMode(dc, halftone);
jpg.Draw(dc,0,0);
jpg.StretchDraw(dc,Makerect(200,200,300,300));
end;
← →
Muxaspb © (2005-10-22 14:11) [6]thaddy and Vladimir, thanks a lot. It"s all working.
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c