Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Dateigröße (voraus-)berechnen?

  Alt 31. Okt 2004, 01:42
Bin gerade dabei JPEG zu verstehen, und nachzuproggen. Leider ist das echt nicht einfach... aber es sei gesagt, dass es keinen Unterschied macht ob du den Algo verstehst oder nicht - du wirst eine Testdatei machen müssen (oder zumindest einen MemoryStream) um eine brauchbare Vorschau der Größe gebebn zu können. Zumindest die Cosinustransformation muss passieren - den Huffmann kann man sich u.U. dafür sogar sparen. Aber eine Schätz-Routine wird aller Wahrscheinlich nach deutlich langsamer sein als ein gut programmierter Huffmann - die DCT wird imho den Großteil der Zeit benötigen.
Die Größe der Datei hängt bei JPEG dermaßen stark vom Inhalt ab, dass es nahezu unmöglich ist die Größe zu bestimmen bevor man nicht in echt eine vollständige Kompression gemacht hat.
Evtl. sind hoch optimierte Schätz-Algos denkbar, aber wahrscheinlich mathematisch irrsinnig komplex, und dann u.U. auch nur bedingt bauchchbar.

Du könntest ja mal versuchen das Bild um einen Faktor zu verkleinern - mit verschiedenen Antialiasingmethoden am besten - und dann abschätzen wie die Größe des verkleinerten in Zusammenhang mit dem Original steht. Aber da solltest du mit allen möglich Varianten von Bildern testen: Eine einfarbige Bitmap, Fotos div. Motive, Zeichnungen, s/w-Rauschen, Farbrauschen etc.
Und mit verschiednen AA-Methoden, da das einen starken Einfluss auf die Komprimierbarkeit haben dürfte.

Fazit: Lass besser eine Testdatei erstellen

Gruss,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat