标签: cmyk

使用没有Photoshop的CMYK PSD

我遇到了一个常见而又困难的问题.我不使用Photoshop进行图像处理.由于我的所有工作都是基于网络的,因此GIMP在99%的情况下都能满足我的需求.该问题是,我偶尔会收到PSD与文件CMYK编码,而不是RGB编码.这些文件不会在GIMP中打开,也不会在ImageMagick中转换.

有没有人找到一个很好的解决方案,将CMYK文件转换为涉及使用Photoshop的RGB文件(PSD格式或像PNG这样的平面格式)?说一个GIMP或独立实用程序的插件?

photoshop psd image cmyk gimp

28
推荐指数
4
解决办法
4万
查看次数

将PDF转换为CMYK(识别识别CMYK)

我很难将ImageMagick identify用于识别PDF作为CMYK.

基本上,假设我正在构建此文件test.tex,使用pdflatex:

\documentclass[a4paper,12pt]{article}

%% https://tex.stackexchange.com/questions/13071
\pdfcompresslevel=0

%% http://compgroups.net/comp.text.tex/Making-a-cmyk-PDF
%% ln -s /usr/share/color/icc/sRGB.icm .
% \immediate\pdfobj stream attr{/N 4} file{sRGB.icm}
% \pdfcatalog{%
% /OutputIntents [ <<
% /Type /OutputIntent
% /S/GTS_PDFA1
% /DestOutputProfile \the\pdflastobj\space 0 R
% /OutputConditionIdentifier (sRGB IEC61966-2.1)
% /Info(sRGB IEC61966-2.1)
% >> ]
% }

%% http://latex-my.blogspot.com/2010/02/cmyk-output-for-commercial-printing.html
%% https://tex.stackexchange.com/questions/9961
\usepackage[cmyk]{xcolor}

\begin{document}
Some text here...
\end{document}
Run Code Online (Sandbox Code Playgroud)

如果我然后尝试识别生成的test.pdf文件,我将其作为RGB,无论我尝试过什么选项(至少根据源中的链接) - 然而,其中的颜色将保存为CMYK; 对于上面的来源:

$ grep -ia 'cmyk\|rgb\| k' test.pdf 
0 0 0 1 k …
Run Code Online (Sandbox Code Playgroud)

linux pdf imagemagick cmyk ghostscript

25
推荐指数
2
解决办法
3万
查看次数

如何正确地在Java中从CMYK转换为RGB?

我将用于将CMYK jpeg转换为RGB的Java代码导致输出图像太亮 - 请参阅下面的代码.任何人都可以建议正确的转换方式吗?

以下代码需要Java Advanced Image IO来读取jpeg和example-cmyk.jpg

import java.awt.image.BufferedImage;
import java.awt.image.ColorConvertOp;
import java.io.File;

import javax.imageio.ImageIO;

public class TestCmykToRgb {

    public static void main(String[] args) throws Exception {
        BufferedImage cmykImage = ImageIO.read(new File(
                "j:\\temp\\example-cmyk.jpg"));


        BufferedImage rgbImage = new BufferedImage(cmykImage.getWidth(),
                cmykImage.getHeight(), BufferedImage.TYPE_INT_RGB);

        ColorConvertOp op = new ColorConvertOp(null);
        op.filter(cmykImage, rgbImage);

        ImageIO.write(rgbImage, "JPEG", new File("j:\\temp\\example-rgb.jpg"));

    }
}
Run Code Online (Sandbox Code Playgroud)

java cmyk

22
推荐指数
3
解决办法
3万
查看次数

如何使用C#识别CMYK图像

有人知道如何使用C#正确识别CMYK图像吗?我发现如何使用ImageMagick,但我需要一个.NET解决方案.我在网上找到了3个代码段,只有一个在Windows 7中运行,但在Windows Server 2008 SP2中都失败了.我需要它至少在Windows Server 2008 SP2中工作.这是我发现的:


    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Drawing;
    using System.Drawing.Imaging;

    bool isCmyk;

    // WPF
    BitmapImage wpfImage = new BitmapImage(new Uri(imgFile));

    // false in Win7 & WinServer08, wpfImage.Format = Bgr32
    isCmyk = (wpfImage.Format == PixelFormats.Cmyk32);

    // Using GDI+
    Image img = Image.FromFile(file);

    // false in Win7 & WinServer08
    isCmyk = ((((ImageFlags)img.Flags) & ImageFlags.ColorSpaceCmyk) == 
        ImageFlags.ColorSpaceCmyk); 

    // true in Win7, false in WinServer08 (img.PixelFormat = Format24bppRgb) 
    isCmyk = ((int)img.PixelFormat) == 8207; 
Run Code Online (Sandbox Code Playgroud)

.net wpf gdi+ cmyk

20
推荐指数
2
解决办法
6217
查看次数

C#使用ICC配置文件将RGB值转换为CMYK?

这个问题似乎发布在很多地方的互联网和SO,但我找不到一个满意的答案:(

如何使用ICC配置文件将RGB值转换为CMYK值?

我有最接近的答案,它解释了如何从CMYK转换为RGB而不是相反,这是我需要的.(http://stackoverflow.com/questions/4920482/cmyk-to-rgb-formula-of-photoshop/5076731#5076731)

float[] colorValues = new float[4];
colorValues[0] = c / 255f;
colorValues[1] = m / 255f;
colorValues[2] = y / 255f;
colorValues[3] = k / 255f;

System.Windows.Media.Color color = Color.FromValues(colorValues,
new Uri(@"C:\Users\me\Documents\ISOcoated_v2_300_eci.icc"));
System.Drawing.Color rgbColor = System.Drawing.Color.FromArgb(color.R, color.G, color.B);
Run Code Online (Sandbox Code Playgroud)

我想我应该使用System.Windows.Media命名空间中的一些类/结构/方法.

System.Windows.Media.Color结构包含一个方法FromRgb,但是我无法在System.Windows.Media.Color中获取CMYK值!

非常感谢

c# printing rgb colors cmyk

17
推荐指数
1
解决办法
1万
查看次数

具有CMYK颜色的SVG图像 - 是否可能?

是否可以指定SVG图像应该在CMYK中产生输出?如果是这样,这是一项大任务吗?如果图像的颜色是用RGB指定的,那么将它们转换为CMYK会很困难吗?

rgb svg image cmyk

15
推荐指数
2
解决办法
2万
查看次数

如何使用C#在ASP.NET中识别CMYK图像

有人知道如何使用C#在ASP.NET中正确识别CMYK图像吗?当我检查实例的Flags属性时Bitmap,我得到的结果不正确.

我已经创建了三个图像来测试它:cmyk.jpg,rgb.jpg和gray.jpg.这些分别是CMYK,RGB和灰度图像.

这是我的测试代码:

static void Main(string[] args)
{
    Bitmap bmpCMYK = new Bitmap("cmyk.jpg");
    Bitmap bmpRGB = new Bitmap("rgb.jpg");
    Bitmap bmpGray = new Bitmap("gray.jpg");

    Console.WriteLine("\t\tRgb\tCmyk\tGray\tYcbcr\tYcck\tPixelFormat");

    Console.WriteLine("cmyk.jpg\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}",
        IsSet(bmpCMYK, System.Drawing.Imaging.ImageFlags.ColorSpaceRgb),
        IsSet(bmpCMYK, System.Drawing.Imaging.ImageFlags.ColorSpaceCmyk),
        IsSet(bmpCMYK, System.Drawing.Imaging.ImageFlags.ColorSpaceGray),
        IsSet(bmpCMYK, System.Drawing.Imaging.ImageFlags.ColorSpaceYcbcr),
        IsSet(bmpCMYK, System.Drawing.Imaging.ImageFlags.ColorSpaceYcck),
        bmpCMYK.PixelFormat);

    Console.WriteLine("rgb.jpg\t\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}",
        IsSet(bmpRGB, System.Drawing.Imaging.ImageFlags.ColorSpaceRgb),
        IsSet(bmpRGB, System.Drawing.Imaging.ImageFlags.ColorSpaceCmyk),
        IsSet(bmpRGB, System.Drawing.Imaging.ImageFlags.ColorSpaceGray),
        IsSet(bmpRGB, System.Drawing.Imaging.ImageFlags.ColorSpaceYcbcr),
        IsSet(bmpRGB, System.Drawing.Imaging.ImageFlags.ColorSpaceYcck),
        bmpRGB.PixelFormat);

    Console.WriteLine("gray.jpg\t{0}\t{1}\t{2}\t{3}\t{4}\t{5}",
        IsSet(bmpGray, System.Drawing.Imaging.ImageFlags.ColorSpaceRgb),
        IsSet(bmpGray, System.Drawing.Imaging.ImageFlags.ColorSpaceCmyk),
        IsSet(bmpGray, System.Drawing.Imaging.ImageFlags.ColorSpaceGray),
        IsSet(bmpGray, System.Drawing.Imaging.ImageFlags.ColorSpaceYcbcr),
        IsSet(bmpGray, System.Drawing.Imaging.ImageFlags.ColorSpaceYcck),
        bmpGray.PixelFormat);

    bmpCMYK.Dispose();
    bmpRGB.Dispose();
    bmpGray.Dispose();

    Console.ReadLine();
}

private static bool IsSet(Bitmap bitmap, System.Drawing.Imaging.ImageFlags flag)
{
    return (bitmap.Flags & …
Run Code Online (Sandbox Code Playgroud)

asp.net bitmap image-processing cmyk

15
推荐指数
1
解决办法
6968
查看次数

用于检测CMYK图像的JAI ImageIO的纯Java替代品

首先,我想解释导致问题的情况/要求:

在我们的Web应用程序中,我们无法支持CMYK图像(JPEG),因为IE 8及以下版本无法显示它们.因此,我们需要检测何时有人想要上传这样的图像并拒绝它.

不幸的是,Java的ImageIO不会读取这些图像,也不会使我无法获得检测到的色彩空间.从调试开始,JPEGImageReader内部似乎得到了颜色空间代码11(这意味着JCS_YCCK),但我无法安全地访问该信息.

当查询读者的图像类型时,我没有得到任何CMYK,所以我可能会假设no image types = unsupported image.

我使用成像工具将源CMYK图像转换为RGB,以便测试它是否可读(我在尝试获取"无CMYK支持"消息时尝试模拟管理员的步骤).但是,JPEGImageReader不会读取该图像,因为它假定(在源中注释!)3分量RGB颜色空间,但图像标题报告4个组件(可能是RGBA或ARGB),因此IllegalArgumentException抛出了一个.

因此,ImageIO不是一个选项,因为我无法可靠地获取图像的色彩空间,我无法告诉管理员为什么不能接受由于某些内部的精细图像(它可以由浏览器显示)错误.

这让我尝试了JAI ImageIO,它CLibJPEGImageReader做得非常出色并正确读取了我所有的测试图像.

但是,由于我们将应用程序部署在可能托管其他应用程序的JBoss中,因此我们希望尽可能保持它们的隔离.据我所知,我需要JAI ImageIO的安装到JRE或以其他方式使本机库提供,以使用它们,因此,其他应用程序可能访问到它们为好,这可能会导致副作用(至少我们不得不测试很多,以确保不是这种情况).

这就是问题的解释,这里再次出现: JAI ImageIO是否有任何纯Java替代品可以可靠地检测并可能转换CMYK图像?

提前致谢,

托马斯

java cmyk jai javax.imageio

13
推荐指数
2
解决办法
2万
查看次数

脚本(或其他一些方法)将RGB转换为PDF格式的CMYK?

是否可以为Adobe Illustrator或其他工具编写脚本,以读取大量PDF文件的内容并将所有RGB颜色转换为CMYK?

如果是这样,有人可以指出所涉及的一些步骤,或者在哪里可以找到更多相关信息?

pdf rgb adobe-illustrator cmyk ghostscript

12
推荐指数
1
解决办法
1万
查看次数

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

我有一个cmyk pdf,我试图转换为RGB jpeg或png文件,但颜色保持非常接近CMYK版本(与Photoshop如何做)

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

这是命令

 convert cmykpdf.pdf +profile icc -profile AdobeRGB1998.icc -colorspace sRGB jpegtesting.jpg
Run Code Online (Sandbox Code Playgroud)

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

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

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

rgb image-manipulation imagemagick cmyk imagemagick-convert

11
推荐指数
3
解决办法
1万
查看次数