![]() |
Formular als JPEG Speichern
Hallo,
Bin noch ein Delphi anfänger, kann mich jemanden sagen, wie ich ein Formular (Oberfläche) als JPEG oder GIF speichern kann????? Danke in Voraus :-D P.S. Benutze Delphi 7 |
Re: Formular als JPEG Speichern
Hallo und herzlich Willkommen :party: !
Mit der Methode ![]() ![]() Etwa so:
Delphi-Quellcode:
Aufzurufen so:
procedure SaveJPEG(Form: TCustomForm; const Path: String);
var Bitmap: TBitmap; JPEG: TJPEGImage; begin Bitmap := Form.GetFormImage; JPEG := TJPEGImage.Create; JPEG.Assign(Bitmap); JPEG.SaveToFile(Path); JPEG.Free; Bitmap.Free; end;
Delphi-Quellcode:
Gruß
SaveJPEG(Form1, 'C:\Screenshot.jpg');
xaromz |
Re: Formular als JPEG Speichern
Danke Xaromz,
ich habe deine Methode Probiert uzw: procedure SaveJPEG(Form: TCustomForm; const Path: String); var Bitmap: TBitmap; JPEG: TJPEGImage; begin Bitmap := Form.GetFormImage; JPEG := TJPEGImage.Create; JPEG.Assign(Bitmap); JPEG.SaveToFile(Path); JPEG.Free; Bitmap.Free; end; Aufzurufen so: Delphi-Quellcode: markieren SaveJPEG(Form1, 'C:\Screenshot.jpg'); und ich bekomme ein Mehrere Fehler meldung. soll ich vorher eine Function GETImage deklarieren??? danke in Voraus |
Re: Formular als JPEG Speichern
Du musst noch
Delphi-Quellcode:
hinzufügen
uses
... jpeg ... Die Prozedur würde ich noch folgendermaßen ändern:
Delphi-Quellcode:
Und aufrufen kannst du sie z.B. so:
procedure SaveJPEG(Form: TCustomForm; const Path: String);
var JPEG: TJPEGImage; begin JPEG := TJPEGImage.Create; JPEG.Assign(Form.GetFormImage); JPEG.SaveToFile(Path); JPEG.Free; end;
Delphi-Quellcode:
EDIT: Nutze bitte für Quellcode die Delphi Tags
procedure TForm1.Button1Click(Sender: TObject);
begin SaveJPEG(Self, 'C:\Formular.jpg'); end; |
Re: Formular als JPEG Speichern
Hallo,
Zitat:
GetFormImage liefert Dir ein TBitmap zurück. Das muss auch freigegeben werden. Gruß xaromz |
Re: Formular als JPEG Speichern
Zitat:
Zitat:
Ich werde sofort als Bestrafung 1.000.000x schreiben: "Ich soll keine Speicherlecks produzieren!" :gruebel: Nja - jetzt muss ich nur noch herausfinden, wiso mein Verstand das gestern vernachlässigt hat. |
Re: Formular als JPEG Speichern
he cool
danke für diese hilfe jetzt frage ich mich wie man es programieren kann, dass der benutzer auswählen kann wo das bild gespeichert werden kann. danke für deine nachträgliche hilfe |
Re: Formular als JPEG Speichern
Am besten du benutzt eine SaveDialog
Delphi-Quellcode:
var
JPEG: TJPEGImage; begin if SaveDialog1.Execute then begin JPEG := TJPEGImage.Create; JPEG.Assign(Form1.GetFormImage); JPEG.SaveToFile(SaveDialog1.Filename); JPEG.Free; end; |
Re: Formular als JPEG Speichern
cool danke dür deine hilfe
wenn du mir jetzt noch veraten kannst wie der filename automatisch das datum als name wählt bist du der größte! |
Re: Formular als JPEG Speichern
stop. Pro Thema nur eine Frage! Ansonsten findet man später über die Suchfunktion nichts und wenn jemand auf eine frühere Frage antwortet wird das auch ein riesiges Durcheinander.
Eröffne also bitte ein neues Thema wenn du eine neue Frage hast :) |
AW: Formular als JPEG Speichern
Hallo,
die oben genannten Methoden habe ich probiert, und das gespeicherte Bild ist zwar übereinstimmend mit den Maßen meines Formulars, aber das Bild ist schwarz. Ich nutze FreePASCAL mit Lazarus IDE. Weiß jemand, wo da der Haken sein könnte? Grüße Antonov |
AW: Formular als JPEG Speichern
Hallo,
zeig doch mal deinen Lazarus-Code. (Unit jpeg ist eingebunden?, sonst mal als Bitmap speichern) Heiko |
AW: Formular als JPEG Speichern
So,
entschuldigt die späte Antwort.
Delphi-Quellcode:
ebenfalls kann ich kein jpeg benutzen, es beschwert sich, dass jpeg nicht gefunden wurde. Jede andere mit bekannte unit kann ich einbinden unter
var
Bitmap: TBitmap; begin Bitmap := Form1.GetFormImage; Bitmap.SaveToFile('testbmp.bmp'); Bitmap.Free; end;
Delphi-Quellcode:
aber jpeg mag er nicht. Weiß der Teufel warum.
uses ...
EDIT: Ist es möglich, dass FreePASCAL das jpeg schon integriert hat? Ich habe es gerade getestet und kann Bilder auch in jpeg speichern, also so etwa
Delphi-Quellcode:
... ändert nichts dran, dass das Resultat immer noch schwarz ist, mit denselben Dimensionen wie das Formular.
Bitmap.SaveToFile('testbmp.jpeg');
|
AW: Formular als JPEG Speichern
Ist das Formular zum Zeitpunkt der Ausführung dieser Methode sichtbar und im Vordergrund?
|
AW: Formular als JPEG Speichern
Ja, diese Trivialitäten habe ich natürlich berücksichtigt! :D
Ich löse die Prozedur über einen Button Click aus, da muss das Fenster im Vordergrund stehen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 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