图像从RGB到Cmyk在PHP中

时间:2013-07-29 19:28:26

标签: php rgb imagick cmyk

我对php和imagick有一些问题,我想将一些图像从rgb系统转换为cmyk,但我只有黑色/非背景。

    $icc_cmyk = file_get_contents('USWebUncoated.icc');
    $img->profileImage('icc', $icc_cmyk);
    $img->setImageColorspace(12);
    if ($php_vs < 5.3) {
        //ADJUST GAMMA BY 20% for 5.2.x
        $img->levelImage(0, 2.0, $range['quantumRangeString']);
    } else {
        //php 5.3 hack FOR INVERTED COLORS
        $img->negateImage(false, Imagick::CHANNEL_ALL);
    }
    $img->stripImage();

//$img->setImageColorspace(Imagick::COLORSPACE_CMYK);
$img->writeImage('cmyk.png');

2 个答案:

答案 0 :(得分:1)

好吧我有一些决心,但我不知道它有效,如果有人能尝到它我会非常感激:)

        $img->setImageColorspace(13);
    $icc_rgb = file_get_contents('AdobeRGB1998.icc');
    $img->profileImage('icc', $icc_rgb);
    unset($icc_rgb);
    $icc_cmyk = file_get_contents('USWebUncoated.icc');
    $img->profileImage('icc', $icc_cmyk);
    $img->setImageColorspace(12);
    unset($icc_cmyk);
    $img->setimagecolorspace(Imagick::COLORSPACE_CMYK);
    $img->stripImage();
    $img->writeImage('cmyk.png');

答案 1 :(得分:0)

使用此有效的RGB来通过Php将CMYK图像

$icc_cmyk = file_get_contents('images/CoatedFOGRA27.icc');// Your Cmyk ICC Profile
$img->profileImage('icc', $icc_cmyk);
$img->transformimagecolorspace(Imagick::COLORSPACE_CMYK);
$img->writeImage('cmyk.jpg');// Save as jpg or jpeg`