我正在为这家印刷公司创建一个小型图像上传验证程序,他们需要确保上传的图像具有CMYK或PMS的颜色空间。检测图像颜色空间是CMYK还是PMS
这是我使用的是什么现在:
Image img = Image.FromStream(fupFile.PostedFile.InputStream);
ImageFlags flags = (ImageFlags)Enum.Parse(typeof(ImageFlags), img.Flags.ToString());
我可以再检查标志,其中将包含如“部分可伸缩| ColorSpaceCmyk | HasRealPixelSize”的东西。这里有更多的信息:http://msdn.microsoft.com/en-us/library/system.drawing.imaging.imageflags.aspx
请注意,PMS色彩空间没有标志。有没有办法检查?
此外,我上传的一些文件,他们根本没有颜色空间标志。这是否意味着色彩空间无法被识别?
我也想知道这是否是一种检查色彩空间的万无一失的方法,还是有更好的策略?
编辑:
我一直在找过来,我想你可以从图像的元数据获得了大量的数据。 http://msdn.microsoft.com/en-us/library/xddt0dz7%28v=VS.90%29.aspx
有谁知道元数据是否包含图像的颜色空间?
感谢有关PMS的信息,我不知道。至于阅读和解析原始头文件,你能告诉我该怎么做,或者让我朝正确的方向发表一篇能够帮助我的博客文章吗?此外,所有图像类型(.jpg,.gif,.png)中的颜色空间是否一致,或每个图像类型是否具有不同的颜色空间? – Steven 2010-10-27 20:37:48