![]() |
Offscreen-Bitmaps verwenden... wie
Hallo,
Ich zeichne zur Zeit auf einer Paintbox, habe aber ein Problem, und zwar das das Bild verschwindet sobal die Grafik mit Scrollbalken hin und her geschrieben wird. Wie kann ich jetzt auf Offscreen-Bitmaps zeichnen??? Hier mein Quellcode:
Delphi-Quellcode:
pbox ist eine Paintbox. Ich möchte aber jetzt zu erst auf ein Bitmap zeichnen und dann erst auf die PaintBox, wie muss ich das machen?
//////////////////////////////////////////////////////////////////////////////// Zeichnen
procedure rekursion(var zRe, Zim, cre, cim: real; var n:integer); var reneu,imneu: real; begin reneu:=zre * zre - zim * zim + cre; imneu:=2 * zre * zim+ cim; inc(n); if (reneu*reneu+ imneu*imneu < 4) and (n<1000) then rekursion (ReNeu, Imneu, cRe, cim, n); end; procedure TForm1.button_zeichnenClick(Sender: TObject); var i,j: integer; temp1,temp2:real; begin max:=max+100; pbox.height:=max; pbox.width:=max; label_copy.Top:=label_copy.Top+100; pbox.Refresh; button_zeichnen.Caption:='Größer &Zeichnen'; for i:= 0 to max do for j:= 0 to max do begin n:=-1; zRe:=0; zIm:=0; temp1:=(-(max/2) + i) /(max/4); temp2:=((max/2)-j)/(max/4); rekursion(zRe, Zim, temp1, temp2, n); pbox.canvas.pixels[i,j]:=$1FFF*10*n; end; end; Wenn ihr mir nicht den Quellcode schreiben wollt versteh ich das, ich wäre auch über Denkanstoße dankbar. Ferby |
Re: Offscreen-Bitmaps verwenden... wie
anstelle von pbox.canvas verwendest du dann einfach deinBitmap.Canvas und scheibst dieses mit BitBlt dann mit einem Mal auf die Canvas von deiner pbox (im OnPaint)
|
Re: Offscreen-Bitmaps verwenden... wie
Hallo Ferby,
Bei einer Paintbox musst du den Canvas der Paintbox immer im OnPaint der Paintbox füllen. Um das Ganze über ein Offscreen-Bitmap zu lösen, benötigts du eine TBitmap-Instanz mit den Abmessungen der Paintbox, in dessen Canvas du zeichnest. Im OnPaint der Paintbox kopierst du dann das Bitmap in den Canvas der Paintbox (Stichwort BitBlt). Ich denke, dass sollte dir helfen oder benötigst du konkreteres? grüße, daniel |
Re: Offscreen-Bitmaps verwenden... wie
Wenn du sogar schon weißt, wie es heißt, warum suchst du denn nicht mal danach hie rim Forum ode mit Google?
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz