Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

Проблема с 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 вся ветка

Текущий архив: 2006.07.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
2-1150969624
nickhilo
2006-06-22 13:47
2006.07.09
Использование помощника Microsoft Office в программах на Delphi.


1-1148895763
Jolik
2006-05-29 13:42
2006.07.09
Имя процедуры...


2-1150463813
Oleguslu
2006-06-16 17:16
2006.07.09
Locate


4-1143807870
tipman
2006-03-31 16:24
2006.07.09
LogOn на сервере - как?


1-1148632794
wipr
2006-05-26 12:39
2006.07.09
OpenOffice.org можно использовать как OLE-Automation сервер?