Einzelnen Beitrag anzeigen

Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#14

Re: Größe eines JPG feststellen?

  Alt 29. Okt 2007, 09:30
Thread 7?

Aber das praktische Beispiel.
Delphi-Quellcode:
uses
  jpeg;

...
var
  jpeg: TJPEGImage;
begin
  jpeg := TJPEGImage.Create;
  try
    jpeg.LoadFromFile('Dateiname');

    Caption := Format('%d, %d', [jpeg.Width, jpeg.Height]);
  finally
    jpeg.Free;
  end;
end;
Bevor die Frage aufkommt. Ja dabei wird das Bild in den Speicher geladen. Das hängt leider an dem JPEGImage. Allerdings wird es noch nicht dekodiert weswegen lediglich der Speicherverbrauch um die Größe des Bildes steigt. Dadurch benötigt das Ganze auch noch nicht wirklich viel Zeit.

Das JPEG wird erst dekodiert sobald die Bilddaten benötigt werden. Also es gezeichnet wird oder auf ein Bitmap zugewiesen wird.

Falls du etwas brauchst was die Daten nicht den Speicher lädt dann solltest du evtl mal die libjepg anschauen. Dafür hatte ich vor ein paar Wochen einen Header geschreiben (aber noch nicht veröffentlicht). Der Programmieraufwand ist aber wesentlich größer, da es sich dabei um eine sehr umständliche DLL handelt. Allerdings direkt in der Datei rum zu lesen ist bei einem JPEG keine gute Idee. Dafür ist das Format zu komplex. Man müsste es wenn dann schon von vorn durchinterpretieren um den Header zu finden. Denn ein jpeg kann auch ein anderes jpeg enthalten (thumbnail).
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat