Fórumok

CMYK-Bild hat als Thumbnail das falsche Farbprofil

Stefan Glotzbach, módosítva 9 év-val korábban

CMYK-Bild hat als Thumbnail das falsche Farbprofil

New Member Bejegyzés: 1 Csatlakozás dátuma: 2013.12.06. Legújabb bejegyzések
Hallo,

ich nutze derzeit Liferay CE 6.2 GA2 mit Tomcat zusammen. Beim Upload von Bildern mit dem CMYK-Profil erhalte ich ein Preview, jedoch mit einem falschen Farbprofil, da die Farben falsch sind. Hat jemand hierzu eine Idee?
Dies wurde auch schon als Bug reported und sollte gefixt sein (https://issues.liferay.com/browse/LPS-13051), das Problem tritt bei mir jedoch weiterhin auf.

Zusätzlich ist Ghostscript und ImageMagick installiert und aktiviert (ob diese aber wirklich verwendet werden kann ich nicht beurteilen, da ich hierfür keinen Anhaltspunkt gefunden habe um dies zu validieren).

Wenn ich das Bild über die Konsole mit der Angabe des Profils RGB konvertiere ist das Bild in Ordnung.


Ich bin am Verzweifeln...

Vielen Dank im Voraus!
thumbnail
Olaf Kock, módosítva 9 év-val korábban

RE: CMYK-Bild hat als Thumbnail das falsche Farbprofil

Liferay Legend Bejegyzések: 6400 Csatlakozás dátuma: 2008.09.23. Legújabb bejegyzések
Ich habe keine wirkliche Lösung, aber zumindest ein paar Schritte zum Debugging:

  • Testen, ob das Problem bei ImageMagic liegt: Deaktivieren, Bilder erneut hochladen
  • JRE überprüfen: Welches Java wird verwendet? Oracle? OpenJDK? (insbesondere, wenn ImageMagic nichts ändert und die Konvertierung in Java durchgeführt wird)


OpenJDK ist nicht in der Liste der offiziell unterstützten Java-Implementationen. Generell arbeitet es zwar, aber in solchen Bereichen kann es mal zu Abweichungen kommen: Für lange Zeit hat OpenJDK bei der Bilderkonvertierung Exceptions geworfen, weil der benötigte Code nicht enthalten ist.
André Finke, módosítva 9 év-val korábban

RE: CMYK-Bild hat als Thumbnail das falsche Farbprofil

New Member Bejegyzés: 1 Csatlakozás dátuma: 2014.04.16. Legújabb bejegyzések
Es gibt leider zwei Stellen die momentan in Liferay fehlerhaft sind bei der Generierung von Thumbnails zu Bildern:

1. ImageProcessorImpl:
Dieser liest das ColorModel (Zeile 291) aus mit der Methode getNumColorComponents. Bei einem JPEG im CMYK-Farbraum wird hier jedoch lediglich 3 zurückgeliefert, korrekt verwendet man hier getNumComponents und erhält 4.
Probleme mit Alpha-PNGs kann es dabei übrigens nicht geben, da der CMYK-Farbraum noch abgefragt wird vor der Konvertierung.

Theoretisch würde jetzt die ursprüngliche Konvertierungsmethode wieder anspringen, allerdings wird einem die falsche Farbsättigung sofort auffallen. Fälschlicherweise wird nämlich nach RGB konvertiert und nicht wie zu erwarten sRGB.
Daher kommen wir zu:

2. ImageToolImpl:
In Zeile 192 muss nun der korrekte ColorSpace angegeben werden. Einfach RGB mit sRGB ersetzen.
Ich habe dies in einer Property hinterlegt, falls doch mal ein anderer Farbraum gewünscht sein sollte oder sRGB nicht der korrekte war.