![]() |
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
Nein, da du den SaveDialog zum speichern irgendwie nicht anklicken kannst :-D
Außerdem ruft der Button den SaveDialog im Endeffekt ja sowieso auf |
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
Uups...
Das habe ich vergessen. Wie sieht der Quelltext denn nun für den Button mit dem SaveDialog aus? (Ohne euch wäre ich hoffnungslos verloren!!!) |
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
DeddyH hat es doch schon so gut wie fertig gezeigt, du musst das nur noch ins OnClick vom Button packen und fertig:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Bitmap : TBitmap; begin if SaveDialog1.Execute then begin Bitmap:=TBitmap.Create; Try Bitmap.Width:=PaintBox1.ClientWidth; Bitmap.Height:=PaintBox1.ClientHeight; BitBlt(Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height, PaintBox1.Canvas.Handle,0,0,SRCCOPY); Bitmap.SaveToFile(SaveDialog1.FileName); Finally Bitmap.Free; end; end; end; //EDIT Ich würde dir dazu noch raten, den Filter vom SaveDialog auf *.bmp zu setzen |
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
Danke.
Ich habe es ausprobiert. Die datei wird gespeichert. Trotzdem gibt es noch zwei Probleme: 1. Die endung wird nicht automatisch hinzugefügt. Es müsste also so aussehen:
Delphi-Quellcode:
Tut es der Filter auch allein?
procedure TForm1.Button1Click(Sender: TObject);
var Bitmap : TBitmap; begin if SaveDialog1.Execute then begin Bitmap:=TBitmap.Create; Try Bitmap.Width:=PaintBox1.ClientWidth; Bitmap.Height:=PaintBox1.ClientHeight; BitBlt(Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height, PaintBox1.Canvas.Handle,0,0,SRCCOPY); Bitmap.SaveToFile(SaveDialog1.FileName + '.bmp'); Finally Bitmap.Free; end; end; end; 2. Da das Bild auf den Hintergrund gezeichnet wird, wird, wenn ich minimiere, der Hintergrund wieder Grau. Das Passiert auch, wenn man ein Fenster darüber zieht. Also auch beim SaveDialog. Kann man das irgendwie beheben? |
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
Ich weiß nicht, ob es eine bessere Lösung gibt, aber wenn du statt der Paintbox ein Image nimmst, bleibt das bild auch beim minimieren etc. da
Und zu der Endung, gib einfach beim SaveDialog bei DefaultExt ".bmp" an, dann wird das bmp automatisch hinzugefügt |
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
Wie geht das?
(Ich habe doch gesagt, dass ich ein Anfänger bin!!!) Ich weiß ja, dass TImage automatisch aktualisiert, aber wie krieg ich da mein Diagramm rein? Wie ist das Programm eigentlich?(Für einen Anfänger) |
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
unter Filter kannst du es einstellen, sonst ist das Programm nicht schlecht
|
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
auf dem Image kannst du genau so zeichnen wie auf der paintbox (also mit Image1.Canvas...)
|
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
Muss ich dann vor aus jedem Canvas ein Image1.canvas machen?
|
Re: Problem beim Speichern einer mit Canvas gezeichneten Gra
Du hast doch vorher auf der paintbox gezeichnet, also Paintbox1.Canvas, das ersetzt du einfach überall durch Image1.Canvas
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 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 by Thomas Breitkreuz