Главная страница
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.038 c
2-1151061195
.ruslan
2006-06-23 15:13
2006.07.09
простое увеличение времени TDateTime


2-1150867093
Arazel
2006-06-21 09:18
2006.07.09
Unicode в ACSII результат ???


2-1150387058
Тимофей Юрьевич
2006-06-15 19:57
2006.07.09
лохонулся,как быть с формой


2-1151056476
fedpavel
2006-06-23 13:54
2006.07.09
Ошибка при выполнении запроса


1-1148965617
tany
2006-05-30 09:06
2006.07.09
импорт данных из Excel