Thema: Delphi Paintbox speichern

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Paintbox speichern

  Alt 25. Sep 2007, 19:15
Anstatt den Canvas der Paintbox zu kopieren, wäre es sicher besser das Bitmap einfach neu zeichen zu lassen.
Dazu sollte man die Zeichenroutinen in einer Methode (im Beispiel InternalPaint) konzentrieren:
Delphi-Quellcode:
procedure TForm1.InternalPaint(Canvas:TCanvas);
begin
  // hier alle Zeichenfunktionen rein
end;
procedure TForm1.Paintbox1Paint(sender:TObject);
begin
   InternalPaint(PaintBox1.Canvas);
end;
Jetzt ist es ein Klacks die graphische Ausgabe auf ein TBitmap zu leiten.
Das ist viel sauberer, als der Vorschlag mit dem Image.
Delphi-Quellcode:
var
  bmp : TBitmap;
begin
  bmp := TBitmap.Create;
  try
    bmp.Width := Paintbox1.Width;
    bmp.Height := Paintbox1.Height;
    InternalPaint(bmp.Canvas);
    bmp.SaveTofile(...);
  finally
    bmp.Free;
  end;
Andreas
  Mit Zitat antworten Zitat