AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TJpegImage saveToStream und saveTo File funktioniert nicht

TJpegImage saveToStream und saveTo File funktioniert nicht

Ein Thema von night · begonnen am 29. Aug 2009 · letzter Beitrag vom 16. Sep 2009
 
night

Registriert seit: 23. Jun 2006
22 Beiträge
 
Turbo Delphi für Win32
 
#1

TJpegImage saveToStream und saveTo File funktioniert nicht

  Alt 29. Aug 2009, 20:36
Hallo,

ich habe ein Programm, dass ein JPG öffnent. Dann möchte ich dazu ein Text schreiben. Der Text, das Bild und das Datum sollen in eine neue Datei geschrieben werden. Wenn ich nur den Text und das Datum abspeichere, dann funktioniert das ohne Probleme. Sobald ich aber das Bild mit abspeichern möchte, kommt kein Fehler, aber es wird auch keine Datei erzeugt.
Ich habe dann versucht, dass Bild direkt wieder mit SaveToFile in eine Datei zu schreiben, aber dabei wird auch keine Datei erstellt.
Mein Code zum Laden des Bildes:

Delphi-Quellcode:
  if form1.OpenPictureDialog1.execute then begin
    Data := self.data(form1.MCalendar.Date);
    Data.FPicture.Free;
    Data.FPicture := TJpegImage.Create;
    Data.FPicture.CompressionQuality := 20;
    Data.FPicture.LoadFromFile(form1.OpenPictureDialog1.FileName);
    form1.IPicture.Picture.Bitmap.Assign(Data.FPicture);
  end;
Das Bild wird auf dem Image (IPicture) angezeigt.

So nun die Methode zum Speichern des Textes:

Delphi-Quellcode:
procedure TAdmin.save;
var stream:TFileStream;
    i,n:Integer;
begin
  n :=-1;
  n := high(FData);
  if n >= 0 then begin

    stream := TFileStream.Create(InitialFile, fmCreate);
    try
      try
       stream.Write(n, sizeOf(n));
       for I := 0 to n do
         FData[i].save(stream);
      except
        on e: exception do showmessage(e.Message);
      end;
    finally
      FreeAndNil(stream);
    end;
  end;
end;

   Data := self.data(form1.MCalendar.Date);
   Data.FText := form1.MMessageInput.Text;
   if Data.FPicture <> nil then
     Data.FPicture.SaveToFile('test.jpg'); // Einfach nur zum Testen
Data.FPicture ist nicht NIL und es kommt auch kein Fehler beim Ausführen von SaveToFile, aber die Datei wird nicht erzeugt.

So und nun mein Code zum Speichern
Delphi-Quellcode:
procedure TAdmin.save;
var stream:TFileStream;
    i,n:Integer;
begin
  n :=-1;
  n := high(FData);
  if n >= 0 then begin

    stream := TFileStream.Create(InitialFile, fmCreate);
    try
      try
       stream.Write(n, sizeOf(n));
       for I := 0 to n do
         FData[i].save(stream);
      except
        on e: exception do showmessage(e.Message);
      end;
    finally
      FreeAndNil(stream);
    end;
  end;
end;
und die Methode TData.save(s:Stream)
Delphi-Quellcode:
procedure TData.save(stream: TFileStream);
var ms: TMemoryStream;
    len: Int64;
    strlen: Integer;
begin
  if stream <> nil then begin
    stream.Write(FDate, sizeOf(FDate));
    strlen := length(FText);
    stream.Write(strlen, sizeof(strlen));
    stream.Write(FText[1], strlen);

    ms := TMemoryStream.Create;
    try
      try
        FPicture.SaveToStream(ms);
        len := ms.Size;
        stream.Write(len, sizeOf(len));
        ms.SaveToStream(stream);
      except
        on e: exception do showmessage(e.Message);
      end;
   finally
      FreeAndNil(ms);
    end;
  end;
end;
Das Abspeichern des Bildes habe ich von http://www.delphipraxis.net/internal....php?p=1030334.

Vielen Dank und Viele Grüße
Stefan
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 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