imagemagick将CMYK pdf转换为RGB jpeg或PNG并预先设定颜色

时间:2013-08-14 22:24:08

标签: imagemagick image-manipulation rgb imagemagick-convert cmyk

我有一个cmyk pdf,我试图转换为RGB jpeg或png文件,但颜色与CMYK版本非常接近(与photoshop的版本相比)

我正在尝试以下命令,但颜色从红色变为几乎明亮的霓虹红色等等。

这是命令

 convert cmykpdf.pdf +profile icc -profile AdobeRGB1998.icc -colorspace sRGB jpegtesting.jpg

有什么想法吗?或者如何做到这一点的想法。我尝试将其保存为PNG也出现同样的问题,并尝试将sRGB更改为仅RGB

注意:它不一定需要RGB jpeg它甚至可以是CMYK jpeg但我只需要它在浏览器中正确显示我知道safari不能正确显示cmyk jpegs

我的目标是在浏览器中显示一个img,显示正确的颜色和正确的分辨率,没有任何像素化

3 个答案:

答案 0 :(得分:15)

解决方案相当简单,现在没有任何关于Photoshop的CMYK到RGB的伏都教或特殊内容。 Imagemagick使用LCMS颜色引擎,它可以很好地完成它的工作。

但首先你需要编辑IM目录中的delegates.xml文件。找到delegate decode="ps:cmyk"行并在结尾附近插入-dUseCIEColor=false,看起来像这样:

<delegate decode="ps:cmyk" restrain="True" command="&quot;@PSDelegate@&quot; -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dEPSCrop -dAlignToPixels=0 -dGridFitTT=2 &quot;-sDEVICE=pamcmyk32&quot; -dTextAlphaBits=%u -dGraphicsAlphaBits=%u &quot;-r%s&quot; %s &quot;-sOutputFile=%s&quot; -dUseCIEColor=false &quot;-f%s&quot; &quot;-f%s&quot;"/>

这是必要的,因为否则Ghostscript(在将pam图像返回到ImageMagick之前)将执行CMYK到CMYK转换(假设DeviceCMYK是基于CIE的CMYK),并且您可能不希望这样,因为颜色会发生相当大的变化。

然后尝试这个命令:

convert -density 144 cmyk.pdf -profile USWebCoatedSWOP.icc -resample 72 -profile "sRGB Color Space Profile.icm" -quality 100 out.jpg

这里我们采用cmyk.pdf(相反,GS返回IM的临时pam图像),分配CMYK配置文件(就像在Photoshop中一样,打开文件或明确地执行 - 因此选择描述您输入的配置文件CMYK最好),将其转换为sRGB配置文件(因为我不认为你想要AdobeRGB作为互联网图像的色彩空间)并保存到jpeg。根据需要降低质量参数。

此处的另一个技巧是额外的手动消除锯齿 - 注意144 dpi和最终72 dpi的中间分辨率。因为我不认为Ghostscript与-dGraphicsAlphaBits=4的抗锯齿与Photoshop的抗锯齿相同。

此命令的结果看起来完全与在Photoshop中转换的相同。

答案 1 :(得分:4)

你可以试试这个:

convert -negate -colorspace RGB srcfile.jpg outputfile.jpg

让我知道它是否有效!

答案 2 :(得分:1)

根据之前的答案,我终于设法将CMYK pdf的自然色彩保持为RGB png,只需使用:

convert -colorspace sRGB cmyk.pdf rbg.png