Thema: Delphi bild speichern unter

Einzelnen Beitrag anzeigen

Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#13

Re: bild speichern unter

  Alt 18. Dez 2005, 15:54
so würde ich das bei einem image machen:

Delphi-Quellcode:
var
  SD: TSaveDialog;
begin
  SD := TSaveDialog.Create(Self);
  with SD do
   begin
    Filter := 'Jpeg Files (*.jpg)|*.jpg';
    Title := 'Save Image to...';
    InitialDir := GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY);
    if Execute then
     begin
      Image1.Picture.SaveToFile(Filename);
     end;
   end;
  SD.Free;
end;
oder automatisch:

  Image1.Picture.SaveToFile(IncludeTrailingPathDelimiter(GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY)) + 'beispiel.jpg'); oder so:

Delphi-Quellcode:
var
  SD: TSaveDialog;
begin
  SD := TSaveDialog.Create(Self);
  with SD do
   begin
    Filter := 'Jpeg Files (*.jpg)|*.jpg';
    Title := 'Save Image to...';
    InitialDir := GetSpecialFolder(Application.Handle, CSIDL_DESKTOPDIRECTORY); // Initalisierungs Verzeichnis ist Desktop
    if Execute then
     begin
      Image1.Picture.SaveToFile(IncludeTrailingPathDelimiter(ExtractFileDir(Filename)) + 'beispiel.jpg'); // speichert im vom User ausgewählten Verzeichnis ab.
     end;
   end;
  SD.Free;
end;
Das IncludeTrailingPathDelimiter ergänzt das Verzeichnis um einen abschließenden Backslash.

Edit: also wäre die dritte lösung für dich am geeignetsten.

aber wenn du den benutzer nur zur auswahl eines verzeichnisses (und nicht zur nennung eines dateinamens) ermächtigen willst, solltest du dir mal den Befehl "SelectDirectory" ansehen. Da gibt es fertige Komponenten wie die Jedis (Name weiß ich gerade nicht, irgendwas mit BrowseFolder oder so) oder die standalone Komponente TBrowseForFolder (http://endimus.com).
  Mit Zitat antworten Zitat