Bildqualität n.d. cachen furchtbar: functions.api.images.php

Gesperrt
ebengingsnoch
Beiträge: 5
Registriert: Mi 8. Jan 2014, 18:07
Kontaktdaten:

Bildqualität n.d. cachen furchtbar: functions.api.images.php

Beitrag von ebengingsnoch » Mi 8. Jan 2014, 18:33

Liebes Forum,

tolles Forum, viele gute Beiträge, viele hilfreiche Beiträge, aber trotzdem keine Lösung gefunden :( .

Seit Tagen setze ich mich mit der "functions.api.images.php" in der Contendio Version 4.6.15 auseinander. Alles läuft wunderbar auf dem Apache Server, aber die Bilder werden nach dem Upload beim Aufrufen gecacht und danach ist die ausgegebene Qualität furchtbar. Sogar Dateien, die unskaliert angezeigt werden und vor dem Cachen weniger kb hatten, werden verwurstet und sehen dann furchtbar aus.

Ich habe die Datei "functions.api.images.php" genauer unter die Lupe genommen, komme aber nicht zum gewünschten Ergebnis, egal was ich einstelle, der output ist immer der gleiche.
Die gecachten Dateien sind gerade bei Kategoriebildern (569x187px) sehr stark komprimiert und sehen doof aus und vermitteln nicht gerade einen guten Eindruck.

Wo muss ich suchen?
Was muss ich einstellen?
Ist die Datei (functions.api.images.php) die, mit der ich arbeiten muss?

Anbei findet ihr die eingesetzte Datei: functions.api.images.php

Ich freue mich auf Eure HIlfe und hoffe genügend Details in die Fragestellung genommen zu habe.

Beste Grüße
Chris

xmurrix
Beiträge: 3143
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Bildqualität n.d. cachen furchtbar: functions.api.images

Beitrag von xmurrix » So 12. Jan 2014, 09:19

Hallo ebengingsnoch,

schau dir mal die Zeilen 455 - 461 in der functions.api.images.php an:

Code: Alles auswählen

	if ($crop)
	{
		exec ("convert -gravity center -quality 75 -crop {$maxX}x{$maxY}+1+1 \"$filename\" $cacheFile", $output, $retVal);
	} else {
		exec ("convert -quality 75 -geometry {$targetX}x{$targetY} \"$filename\" $cacheFile", $output, $retVal );
	}
Darin wird, falls bei dir ImageMagick verwendet wird, immer mit der Qualität 75 gearbeitet, das kannst du dann auf deine Wünsche anpassen.

Ansonsten kann es die Zeilen 201 oder 340, in diesen Zeile wird jeweils die Funktion imagejpeg() ohne 3. Parameter aufgerufen, dann verwenden PHP per default auch 75. Hier kannst du auch die Qualität angeben, z. B. mit:

Code: Alles auswählen

imagejpeg($targetImage, $cacheFile, 90);
Die 4.6 ist ziemlich alt und nicht auf den neuesten Stand. In CONTENIDO 4.9 kannst du die Qualität der zu generierenden Bilder pro Bild selber bestimmen. Ein Update wäre also nicht schlecht...

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

ebengingsnoch
Beiträge: 5
Registriert: Mi 8. Jan 2014, 18:07
Kontaktdaten:

Re: Bildqualität n.d. cachen furchtbar: functions.api.images

Beitrag von ebengingsnoch » Mo 13. Jan 2014, 09:18

Hallo xmurrix,

vielen Dank für Deine hilfreiche Antwort. Ausversehen habe ich meinen Post doppelt eröffnet. Deine Antwort ist aber dennoch sehr hilfreich.
Der Hauptthread ist hier: http://forum.contenido.org/viewtopic.ph ... 80#p162580

Mir scheint, ein Update ist umumgänglich ; )

Vielen Dank und viele Grüße
Chris

Gesperrt