Spero di poter aiutare i colleghi developer alle prese con la conversione attraverso Imagemagick RGB to CMYK.
Scenario: dobbiamo convertire lato server un’immagine RGB in CMYK
Problema: letta la scarna documentazione di Imagemagick sulla refernece di Php ci imbattiamo in un annoso problema: l’immagine ottenuta è in negativo!!!
Soluzione: dopo aver letto post su post sui soliti siti senza riuscire a trovare una soluzione e grazie al supporto di Giacomarco, ecco svelato il mistero.
Se si deve convertire un’immagine occorre usare transformimagecolorspace, mentre se si sta generando un’immagine ex-novo allora si deve utilizzare transformimagecolorspace:
$image->transformimagecolorspace(Imagick::COLORSPACE_CMYK);
Se invece si sta creando un’immagine ex-novo allora si deve utilizzare setImageColorSpace
$image->setImageColorSpace(Imagick::COLORSPACE_CMYK);
Ecco un esempio:
$image = new Imagick(); $image->readImage(rgb.jpg); $image->transformimagecolorspace(Imagick::COLORSPACE_CMYK); $image->profileImage('icc', file_get_contents(/path/CoatedFOGRA27.icc')); $image->writeImage(cmyk.rgb);
Per gli amici in lingua inglese: [SOLVED] imagemagick convert image RGB to CMYK!
Lascia un commento