Einzelnen Beitrag anzeigen

khurrad

Registriert seit: 7. Aug 2005
Ort: Kiel
3 Beiträge
 
#1

jpeg-Fehler #36 bei sehr großen Dateien

  Alt 8. Aug 2005, 21:41
Hallo,

ich habe folgendes Problem:

Ich möchte gerne eine Bitmap in ein JPG-Bild umwandeln und es dann als Datei auf meiner Festplatte speichern. Dafür verwende ich folgende Prozedur:

Delphi-Quellcode:
procedure StoreBitmapAsJPEG (bm: graphics.TBitmap; jpname: string;
                            Kompressionsqualitaet: Integer = 100);

var
  jp: TJpegImage;

begin
  jp:= TJpegImage.Create;
  try
    with jp do
    begin
      CompressionQuality:=Kompressionsqualitaet;
      Assign(bm);
      (* Das folgende führt zu Fehlern bei übergroßen Bildern. *)
      SaveToFile(jpname)
    end; (* with *)
  finally
    jp.Free;
  end;
end;
Das klappt wunderbar, wenn die übergebene Bitmap nicht sehr groß ist. 1024x768 zum Beispiel wird anstandslos gespeichert. Wenn ich aber größere Bitmaps auf diese Weise als JPEG-Datei speichern will (zum Beispiel 984x1190), gibt das Programm den JPEG-Fehler #36 aus. Das ist: "output file write error - out of disk space?"

Ich versichere hoch und heilig: Auf meiner Festplatte ist noch massig Platz (8 GB). Außerdem kann ich ohne weiteres die Bitmap als BMP-Datei abspeichern, und die ist sicherlich größer als die JPEG-Datei. Was mache ich falsch?
  Mit Zitat antworten Zitat