Einzelnen Beitrag anzeigen

night

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

Re: TJpegImage saveToStream und saveTo File funktioniert nic

  Alt 1. Sep 2009, 02:57
Ich verstehe das nicht. Es geht nicht.

Ich habe dein Code jetzt mal direkt in die Load Methode gepack.

Delphi-Quellcode:
procedure TAdmin.loadPicture;
var Data: TData;
   ms: TMemoryStream;
   len:Int64;
begin
  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);

   //zum testen
   ms := TMemoryStream.Create;
    try
      try
       Data.FPicture.SaveToStream(ms);
        len := ms.Size;
        //stream.Write(len, sizeOf(len));
        ms.Position := 0;
        ms.SaveToFile('test.jpg');
        //stream.Write(ms,len); // schreibe den MemoryStream in den FileStream
      except
        on e: exception do showmessage(e.Message); // es wird keine Exception geworfen...
      end; // aber auch keine Datei erstellt.
    finally
      FreeAndNil(ms);
    end;

   form1.IPicture.Picture.Bitmap.Assign(Data.FPicture); // und hier wird das Bild richtig ins Image kopiert...
                                                        // warum geht dann der Stream nicht?
  end;
end;
was auch sehr komisch ist, dass in len ein anderer Wert als in ms.size steht ....(nach len := ms.size
  Mit Zitat antworten Zitat