JPEG Qualität und andere Einstellungen

Rund um die LCL und andere Komponenten

JPEG Qualität und andere Einstellungen

Beitragvon Timm Thaler » 4. Okt 2018, 22:14 JPEG Qualität und andere Einstellungen

Um ein Bild in einem Konsolenprogramm zu bearbeiten verwende ich fpwritejpeg und fpreadjpeg.

Laut fpcsrc sollte es da Optionen wie reader.Performance und writer.CompressionQuality geben. Wenn ich versucht die zu verwenden, bekomme ich aber die Fehlermeldungen Error: identifier idents no member "Performance"

hread.Performance := jpBestQuality; //jpBestSpeed;
hwrite.CompressionQuality := 80;

Wie kann ich die Kompression bei Jpeg setzen? Besser noch: Bekomme ich die Kompression eines geladenen Jpegs heraus, denn ich möchte das bearbeitete Bild mit gleicher Kompression abspeichern?

Hier http://www.lazarusforum.de/viewtopic.php?p=64557#p64557 scheint das mit Performance und CompressionQuality zu funktionieren.
Timm Thaler
 
Beiträge: 707
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon wp_xyz » 4. Okt 2018, 23:33 Re: JPEG Qualität und andere Einstellungen

Timm Thaler hat geschrieben:Um ein Bild in einem Konsolenprogramm zu bearbeiten verwende ich fpwritejpeg und fpreadjpeg.

Laut fpcsrc sollte es da Optionen wie reader.Performance und writer.CompressionQuality geben. Wenn ich versucht die zu verwenden, bekomme ich aber die Fehlermeldungen Error: identifier idents no member "Performance"

hread.Performance := jpBestQuality; //jpBestSpeed;
hwrite.CompressionQuality := 80;

Wie kann ich die Kompression bei Jpeg setzen? Besser noch: Bekomme ich die Kompression eines geladenen Jpegs heraus, denn ich möchte das bearbeitete Bild mit gleicher Kompression abspeichern?

Hier http://www.lazarusforum.de/viewtopic.php?p=64557#p64557 scheint das mit Performance und CompressionQuality zu funktionieren.


Da wirst du irgendetwas falsch machen - das Programm in dem Link funktioniert. Auch kann ich in dem Beispiel die CompressionQuality heruntersetzen (5) und erhalte eine deutlich schlechtere Bildqualität. Wegen der Fehlermeldung: Vielleicht hast du Performance nicht auf den Reader, sondern den Writer angewendet.

Die Kompression wird, soviel ich weiß, nirgendwo im Bild abgespeichert.

Mehrfache Jpeg-Komprimierung kann zu einem Qualitätsverlust führen.
wp_xyz
 
Beiträge: 2647
Registriert: 8. Apr 2011, 08:01

Beitragvon Timm Thaler » 5. Okt 2018, 03:47 Re: JPEG Qualität und andere Einstellungen

Habs gefunden: Der Unterschied liegt in

Code: Alles auswählen
  hread : TFPCustomImageReader;
  hwrite : TFPCustomImageWriter;

vs.
Code: Alles auswählen
  hread : TFPReaderJPEG;
  hwrite : TFPWriterJPEG;


Etwas Anderes habe ich nicht geändert. Das ist anscheinend einerseits in fpimage und andererseits in fpwritejpeg / fpreadjpeg definiert.

Die erste Variante hab ich aus http://www.lazarusforum.de/viewtopic.php?p=64592#p64592 im gleichen Thread. Irgendwie sehr verwirrend mit den ganzen Image-Libs.
Timm Thaler
 
Beiträge: 707
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

Beitragvon Timm Thaler » 7. Okt 2018, 14:32 Re: JPEG Qualität und andere Einstellungen

Noch eine Falle: Wenn man die Bilder mit VirtualDub zusammenfügen will, muss Progressive = false sein.
Timm Thaler
 
Beiträge: 707
Registriert: 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded | 
CPU-Target: Raspberry Pi 3
Nach oben

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried