我使用了一个lib,它通过o2Solutions处理名为PDF4Net的PDF文件。我在XP和Server 2003上遇到问题,其中lib无法正确识别图像的色彩空间,并错误地在页面上绘制它们,使图像偏斜。您可以指定要显式绘制的图像的颜色空间,并且我正在尝试以编程方式确定图像所处的颜色空间。我偶然发现:
How to detect if a jpeg contains cmyk color profile?
我使用了这个功能:
protected bool isFileACMYKJpeg(System.Drawing.Image someImage)
{
System.Drawing.Imaging.ImageFlags flagValues = (System.Drawing.Imaging.ImageFlags)Enum.Parse(typeof(System.Drawing.Imaging.ImageFlags), someImage.Flags.ToString());
if (flagValues.ToString().ToLower().IndexOf("ycck") == -1)
{
return false;
}
return true;
}
然而,即使jpeg处于CMYK状态,它也仅返回RGB。有关如何解决这个问题的想法吗?
答案 0 :(得分:3)
你尝试过这样的事吗?
protected bool isFileACMYKJpeg(System.Drawing.Image someImage)
{
return someImage.Flags.HasFlag(System.Drawing.Image.ImageFlags.ColorSpaceCmyk);
}