![]() |
Gezeichnetes bild in paintbox speichern?
hallo
ich habe mal eine warscheinlich ziemlich einfache frage: ich möchte mein gezeichnetes über das MainMenu speichern und zwar soll das windows-speicherfeld erscheinen wenn ich auf meinen "speichern"-button klicke. ich weis DAS es geht aber leider nich wie.. hoffe mir kann jemand helfen lg [edit=SirThornberry]Titel geändert - Mfg, SirThornberry[/edit] |
Re: Anfänger: Gezeichnetes bild in paintbox speichern?
Hallo,
gibt es bei Dir den Reiter Dialogs/Dialoge in der Komponentenpalette? Dort findest Du den SaveDialog. Grüße Klaus |
Re: Anfänger: Gezeichnetes bild in paintbox speichern?
um das "Speichernfeld" zu haben musst du einen TSaveDialog auf dein Form packen und dann die ExecuteMethode aufrufen:
Delphi-Quellcode:
Der Dialog kümmert sich nicht um das Speichern sondern nur um die Auswahl eines Dateinamens.
if (SaveDialog1.Execute()) then
begin ShowMessage(SaveDialog1.FileName); end; |
Re: Anfänger: Gezeichnetes bild in paintbox speichern?
So ganz einfach, hoffe du verstehst schon den Code
Delphi-Quellcode:
[edit=SirThornberry]Quelltext eingerückt - nächstes mal bitte selbst ordentlich machen - Mfg, SirThornberry[/edit]
//ein PictureSaveDialog (nur wenn höher als Delphi 5 hast) auf Formular setzen
// dann bei MenuItem bei OnClick folgendes begin If PictureOpenDialog1.Excute then //Excute ist ein function die True zurückgibt, wenn du bei dem Dialog auf OK geklicst hast und einen Dateinamen ausgewählt hast begin Paintbox1.Canvas.Bitmap.SaveToFile('C:\MeinOrdner\ddd.bmp') //ganz wichtig am ende .bmp, wie es heir ist end; end; |
Re: Anfänger: Gezeichnetes bild in paintbox speichern?
Ich glaub du hast einen Schönheitsfehler im Quelltext. Im Kommentar redest du von einem PictureSaveDialog und im Quelltext steht dann etwas von einem PictureOpenDialog
|
Re: Anfänger: Gezeichnetes bild in paintbox speichern?
Außerdem bringt der SaveDialog nix wenn man den Dateinamen dann nicht verwendet...
|
Re: Anfänger: Gezeichnetes bild in paintbox speichern?
@NickelM: Seit wann hat denn TCanvas eine Bitmap Eigenschaft?
|
Re: Anfänger: Gezeichnetes bild in paintbox speichern?
TCanvas.Bitmap.Canvas.Bitmap.Canvas.Bitmap.Canvas. Bitmap..... wär doch mal lustig :mrgreen:
|
Re: Gezeichnetes bild in paintbox speichern?
hehe,
da musst du Methoden/funktionen wie TCanvas.CopyRect/Bitblt/scanline etc nutzen. um das Canvas in ein temporäres TBitmap zu kopieren. ohne diesen Umweg ist mir keine möglichkeit bekannt, das bild zu speichern. HTH Frank |
Re: Gezeichnetes bild in paintbox speichern?
Mal schnell eingehackt:
Delphi-Quellcode:
procedure PaintboxToBitmap(const pb: TPaintbox;
const bm: TBitmap; pf: TPixelformat = pf24Bit); begin bm.PixelFormat := pf; bm.Width := pb.Width; bm.Height := pb.Height; BitBlt(bm.Canvas.Handle,0,0,bm.Width,bm.Height,pb.Canvas.Handle,0,0,SRCCOPY); end; procedure TForm1.Button1Click(Sender: TObject); var bm: TBitmap; begin bm := TBitmap.Create; try PaintBoxToBitmap(Paintbox1,bm); bm.SaveToFile('C:\test.bmp'); finally bm.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:12 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