Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Offscreen-Bitmaps verwenden... wie (https://www.delphipraxis.net/55190-offscreen-bitmaps-verwenden-wie.html)

ferby 17. Okt 2005 20:10


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:
//////////////////////////////////////////////////////////////////////////////// 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;
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?
Wenn ihr mir nicht den Quellcode schreiben wollt versteh ich das, ich wäre auch über Denkanstoße dankbar.


Ferby

SirThornberry 17. Okt 2005 20:11

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)

Sanchez 17. Okt 2005 20:14

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

Luckie 17. Okt 2005 20:50

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? Hier im Forum suchenoffscreen bitmap.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz