0

我对 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');
4

2 回答 2

1

使用这个工作 RGB 到 CMYK 图像和 PHP

$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`
于 2018-08-07T05:51:31.350 回答
0

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

        $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');
于 2013-07-29T19:57:42.557 回答