Einzelnen Beitrag anzeigen

Yheeky

Registriert seit: 7. Jun 2002
1.339 Beiträge
 
#1

JPEG komprimieren - kleiner als 100kb - wie?

  Alt 15. Jul 2005, 22:29
Hi,

folgendes: In meinem Programm möchte ich ein Bild solange komprimieren lassen, bis das Bild kleiner als 100kb ist. Bei Bildern, die standardmäßig um 1Mb groß sind, funktioniert das ja problemlos. Wenn ich nun ein Bild nehme, was 10MB groß ist, kann < 100kb nicht mal bei Kompressionsstärke 1 erreicht werden. Nun würde ich gerne folgende Funktion so haben, dass mir angezeigt wird, dass das Bild nicht unter 100kb komprimiert werden kann. Wie geht das?

Delphi-Quellcode:
procedure [...]
var Kompression : Byte;
begin
Kompression := 100; // 100 - kaum komprimiert; 1 - sehr komprimiert

repeat
   JPGDatei.CompressionQuality := Kompression;
   JPGDatei.Compress;
   JPGDatei.SaveTofile(JPGDateiname);
   Dec(Kompression)
until GetFileSize(JPGDateiname) < 100; // wenn das Bild kleiner als 100kb ist, aus der Funktion gehen

end;
  Mit Zitat antworten Zitat