AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi jpeg-Fehler #36 bei sehr großen Dateien
Thema durchsuchen
Ansicht
Themen-Optionen

jpeg-Fehler #36 bei sehr großen Dateien

Ein Thema von khurrad · begonnen am 8. Aug 2005 · letzter Beitrag vom 10. Aug 2005
Antwort Antwort
khurrad

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

jpeg-Fehler #36 bei sehr großen Dateien

  Alt 8. Aug 2005, 22: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
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: jpeg-Fehler #36 bei sehr großen Dateien

  Alt 9. Aug 2005, 08:24
Evtl. bist du an einer 2/4 GB-Grenze und die JPEG-Implementierung in Delphi verwendet nur Win32-API-Aufrufe mit 32-Bit-Parametern.

Beleg mal einfach ein paar MB und probiere es nochmal.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
khurrad

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

Re: jpeg-Fehler #36 bei sehr großen Dateien

  Alt 9. Aug 2005, 17:51
Zitat von Bernhard Geyer:
Evtl. bist du an einer 2/4 GB-Grenze und die JPEG-Implementierung in Delphi verwendet nur Win32-API-Aufrufe mit 32-Bit-Parametern.

Beleg mal einfach ein paar MB und probiere es nochmal.
Habe ich ausprobiert. Sowohl auf meinem Rechner als auch auf einem anderen Rechner. Es klappt bei genügend kleinen JPGs, bei größeren nicht.

Ich verwende übrigens Delphi 5 Standard.
  Mit Zitat antworten Zitat
khurrad

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

Re: jpeg-Fehler #36 bei sehr großen Dateien

  Alt 10. Aug 2005, 21:31
Ich habe inzwischen herausgefunden, daß die Unit jpeg.pas (jpeg.dcu), die mit Delphi 5 ausgeliefert worden ist, tatsächlich einen Programmierfehler enthält. Mit der Unit jpgimg.pas klappt alles hervorragend.

Falls es jemanden gibt, der das gleiche Problem hat: Die Unit findet man auf www.hoerstemeier.com und auch sonst im Internet.
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz