Einzelnen Beitrag anzeigen

Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Jpegs : Qualität verringern

  Alt 2. Sep 2003, 17:20
Hallo,
ich dachte, gleich ich drehe durch, da ich in meinem Code
nachgesehen hatte, dort funkte alles -allerdings mit einer
BMP -> JPG konversion!

Delphi-Quellcode:
PROCEDURE TForm1.Button1Click(Sender: TObject);
VAR
   jpg : TJpegImage;
BEGIN
   jpg := TJpegImage.Create;
   TRY
      jpg.Loadfromfile('C:\Dokumente und Einstellungen\nemesisposter.jpg');
      jpg.CompressionQuality := 50;
      jpg.DIBNeeded; // SCHULDIG!!!
      jpg.Compress;
      jpg.SaveToFile('C:\Dokumente und Einstellungen\nemesisposter_thumsdfgasgb.JPG');
   FINALLY
      jpg.free;
   END;
END;
OH:
Zitat:
Die Methode DIBNeeded dekomprimiert die JPEG-Grafik in eine Bitmap.

procedure DIBNeeded;

Beschreibung

Setzen Sie DIBNeeded ein, wenn für die JPEG-Grafik eine Bitmap-Darstellung erforderlich ist. Rufen Sie diese Methode zur Optimierung direkt vor dem Zeichnen auf (nicht während des Zeichnens).
NEWSGROUP:
Zitat:
Compress takes the bitmap part of the jpegimage and compresses into a
jpeg. However, TJPEGImage doesn't decode the jpeg data into a bitmap
untill it needs to, which it thinks it doesnt in your case. So, after
loading it, slap in a DibNeeded; which forces it to decode the jpeg.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat