Article View: pl.comp.lang.delphi
Article #174Jak szybko narysowac bitmape?
From: Paweł K.
Date: Wed, 17 Sep 1997 19:09
Date: Wed, 17 Sep 1997 19:09
31 lines
1667 bytes
1667 bytes
W jaki sposób naprawde szybko pokazac tapete (np. duza bitmape jako tlo
formatki TForm typu fsMDIForm). Rysowanie po Canvasie, sposoby z BitBlt
nawet przy pomocy ponizszego kodu odpadaja jako zbyt wolne.
BeginPaint(ClientHandle, PS);
KontPam:=CreateCompatibleDC(PS.HDC);
SelectObject(KontPam, FPatternGlyph.Handle);
y := 0;
while y < ClientHeight do begin
x := 0;
while x < ClientWidth do begin
BitBlt(PS.HDC, x, y, FPatternGlyph.Width,
FPatternGlyph.Height, KontPam, 0, 0, cmSrcCopy);
x := x + FPatternGlyph.Width;
end;
y := y + FPatternGlyph.Height;
end;
(*
StretchBlt(PS.HDC, 0, 0, ClientWidth, ClientHeight, KontPam,
0, 0, FPatternGlyph.Width, FPatternGlyph.Height, cmSrcCopy);
*)
EndPaint(ClientHandle, PS);
DeleteDC(KontPam);
Niewiedziec czemu ta powolnosc objawia się szczegolnie w sieci, mimo iz
Bitmapa ladowana jest z resurce'a (ten sam EXE) do Glypha na samym poczatku
a dopiero potem jest odrysowywana wielokrotnie.
_______________________
Paweł Kępka
pwlkp@priv.onet.pl
Technical Details
Message-ID:
<5vpbq6$fk7$1@sunsite.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!uw.edu.pl!news.icm.edu.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!agh.edu.pl!uw.edu.pl!news.icm.edu.pl!not-for-mail From: Paweł K. <pwlkp@priv.onet.pl> Newsgroups: pl.comp.lang.delphi Subject: Jak szybko narysowac bitmape? Date: Wed, 17 Sep 1997 21:09:18 +0200 Organization: ICM Lines: 36 Message-ID: <5vpbq6$fk7$1@sunsite.icm.edu.pl> NNTP-Posting-Host: ppp161.plock.tpnet.pl X-Newsreader: Microsoft Outlook Express 4.71.1008.3 X-MimeOle: Produced By Microsoft MimeOLE Engine V4.71.1008.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit