![]() |
Qualität eines JPEG-Bildes verringern
Hallo,
ich möchte die Qualität eines JPEG-Bildes verinngern:
Delphi-Quellcode:
Allerdings verändert sich nichts am Bild. Hab ich was übersehen, oder muss ich auf die Graphics32-Library ausweichen ?
var
JpegImage1: TJpegImage; begin JpegImage1 := TJpegImage.Create; try JpegImage1.LoadFromFile('c:\meinbild.jpg'); JpegImage1.CompressionQuality := 50; JpegImage1.Compress; JpegImage1.SaveToFile('c:\meinbild.jpg'); finally JpegImage1.Free; end; end; Gruß Christian |
Re: Qualität eines JPEG-Bildes verringern
Zitat:
Gruß Jörg |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
|
Re: Qualität eines JPEG-Bildes verringern
Das ist es ja, es ändert sich gar nichts, die Größe bleibt unverändert.
|
Re: Qualität eines JPEG-Bildes verringern
Hi,
bist du sicher, dass im try-Abschnitt kein Fehler auftritt? |
Re: Qualität eines JPEG-Bildes verringern
Versuch mal ein paar extreme. Also 10 oder 100.
Wenn sich da auch nicht verändert, dann rufe mal nach dem LoadFromFile ein DibNeeded auf. Denn das TJpegImage dekodiert das Bild nur wenn du es auf ein Bitmap Assignst oder durch DibNeeded. Denn ich könnte mir vorstellen, dass er einfach das abspeichert was er gerade an komprimierten Daten da hat. Also direkt das was geladen wurde. Falls das auch nicht geht dann assigne das Jpeg mal auf ein tempäres TBitmap. Und dieses dann auf ein neues TJpegImage um eventuelle Altlasen loszuwerden. |
Re: Qualität eines JPEG-Bildes verringern
Hallo,
versuche es mal so:
Delphi-Quellcode:
var
JpegImage1, j: TJpegImage; bmp: TGraphic; begin bmp:= TBitmap.Create; JpegImage1 := TJpegImage.Create; try JpegImage1.LoadFromFile('c:\meinbild.jpg'); bmp.Assign(JpegImage1); JpegImage1.Assign(bmp); JpegImage1.CompressionQuality := 50; JpegImage1.Compress; JpegImage1.SaveToFile('c:\meinbild.jpg'); finally JpegImage1.Free; bmp.Free; end; |
Re: Qualität eines JPEG-Bildes verringern
@Matze
Ja ich bin mir sicher, dachte auch erst, dass es daran liegen könnte. @Lossy eX Danke fr den Tip mit dem "DibNeeded" das werde ich mir auf jedenfall mal genauer anschauen. @bitsetter Danke, dein Code funktioniert ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz