Hi,
also folgendes Problemchen habe ich.
Ich hab ein jpg-image was ich gerbne solange komprimieren will
bis es kleiner als ein bestimmter wert wird.
Das Prinzip funktioniert wunderbar wenn ich als Ausgangsfile ein bmp habe, bei einem Jpg
allerdings verändert sich die Dateigrösse nicht.
Kann mir jemand sagen was an folgendem Cone fehlerhaft ist?
Thx schonmal, schlumsch
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| Var f: file of byte; dateigroesse : Longword; i: integer; quality : byte; bmpname, jpgname : string; pic : Timage; jpg,jpgnew : TJpegImage; begin .... .... if dateigroesse > 90 then begin quality := 100; jpgname := directorylistbox1.directory +'\' + stringgrid1.cells[0,stringgrid1.row];
repeat pic := timage.create(nil); pic.picture.loadfromfile(jpgname); with TJpegImage.create do begin performance := jpBestQuality; quality := quality - 10; compressionquality := quality; showmessage(inttostr(compressionquality)); assign(pic.picture.graphic); savetofile(jpgname); free end; pic.free; AssignFile(f,jpgname); Reset(f); dateigroesse := round(filesize(f)/1024); closefile(f); until dateigroesse <= 90; end; |
Moderiert von
UGrohne: Code- durch Delphi-Tags ersetzt.