请教:如何检测一张jpeg图片是RGB色彩还是CMYK色彩?

ni2me 2005-06-02 11:12:29
如何用delphi代码检测一张jpeg图片是RGB色彩还是CMYK色彩?
查了很久都没有找到解决办法,估计这个问题比较难,如果有人能帮我解决我愿再给200分以示敬意!
...全文
2746 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
涩色滴人 2005-06-12
  • 打赏
  • 举报
回复
笨办法:JPEG文件中前8个字节是FF D8 FF E1的为CMYK模式,而FF D8 FF E0的为RGB模式,这是我经过分析数百张图片后得出的结果,但是这肯定不是两者的本质区别,楼主自己看着办吧。

另外我还发现CMYK的图片文件比RGB的要大很多倍。
ni2me 2005-06-12
  • 打赏
  • 举报
回复
谢谢yonny,我决定先用的你方法对付着用,目前看来这样对我的用途来说足够了,非常感谢你!此贴结贴了,来者有分,yonny请进此贴:
http://community.csdn.net/Expert/topic/4077/4077408.xml?temp=.2111322
崔作非 2005-06-10
  • 打赏
  • 举报
回复
这么说JEPG图片支持CMYK颜色模式了?如果支持的话在其文件格式中一定能找到相关信息的。除非JPEG只支持CMYK。听说静态图象专家组有好几种JPEG和JPG格式呢,问题还是相当复杂的。
ni2me 2005-06-10
  • 打赏
  • 举报
回复
谢谢四星ehom的回复。我的目的,并不是要显示或者编辑CMYK的jpeg图片,我是想要检测一张图片是不是CMYK,也就是想要从一堆图片中,把CMYK的格式的图片挑出来,因为我的彩扩机不支持CMYK格式,一旦有CMYK的图片送进来,就会出废片,出了废片是扣员工的钱,可是我不想扣他们的钱啊。
ehom 2005-06-09
  • 打赏
  • 举报
回复
TJPEGImage不支持CMYK,需要自己重新封装jpeglib6b
yifeiming 2005-06-07
  • 打赏
  • 举报
回复
up
崔作非 2005-06-06
  • 打赏
  • 举报
回复
周末休息,没有回复。http://web.gdut.edu.cn/~dj/jxsb/cai/mp82.htm
JPEG编码和原理
ni2me 2005-06-06
  • 打赏
  • 举报
回复
非常感谢,我去看看!
godear 2005-06-04
  • 打赏
  • 举报
回复
这个要看看文件格式(文件头)信息, 找找这方面的资料吧
ni2me 2005-06-04
  • 打赏
  • 举报
回复
又沉了,进来看的兄弟帮我顶顶啊
lovend 2005-06-03
  • 打赏
  • 举报
回复
水平有限,只有帮您顶拉。
涩色滴人 2005-06-03
  • 打赏
  • 举报
回复
http://www.bisenet.com/2005/4-13/11184174001.html

这里有个叶子,楼主看看,至少可以懂得二者的区别了。
涩色滴人 2005-06-03
  • 打赏
  • 举报
回复
不认同楼上,你想想人家photoshop是怎么认出来的?RGB和CMYK的区别并不是如同你说的英寸和市尺之间的差别,二者的编码方法不同,一个是三个颜色通道,另一个是四个颜色通道。一个适用于屏幕显示,一个适用于打印。
崔作非 2005-06-03
  • 打赏
  • 举报
回复
一般来说是不能区分开来,因为RGB和CMYK是两种系统显示模式,举个例子就有点像英寸和市尺之间的差别,都是描述长度的单位,任何一个有形物体都可以用它们来描述,所以你没有办法说哪个东西是英寸的,哪个是市尺的。但它们确实不同。
这两种颜色模式的差别也是这样的。不过有些格式的图片能保存其设计时的颜色显示模式,AI文件就是这样的。JPEG文件格式中不知道是有这项功能。
ni2me 2005-06-03
  • 打赏
  • 举报
回复
真心希望大家能帮帮我,非常感谢。
另外提供一个信息,也许对研究这个问题有点帮助:
如果在photoshop里面把一张图片改为CMYK模式,你就不能把它存为bmp格式了,这说明bmp图片是不支持CMYK模式的。
ni2me 2005-06-03
  • 打赏
  • 举报
回复
首先谢谢大家的回复!
我觉得大家说的都在理,图片上某个点的颜色对我们的眼睛来说,不管用什么格式来表示的,它都是颜色(当然不同模式的图片在显示器上确实略有差别),但是处理颜色的设备必须知道它是什么格式的,才能正确的还原它的颜色,photoshop显然知道jpeg文件是什么格式的,那么这说明确实应该有办法能判断图片采用的格式。不知道有没有高人能用同一张图片的两总不同格式来对比分析一下?我试图这么做过,可是我的能力确实太差了。
具体到我的工作中的例子,富士的数码彩扩机,就只能用RGB格式,如果用photoshop保存的CMYK格式输入进去,出来的照片就是面目全非的,所以我才想到写个小程序来判断图片格式。
上面我强调“photoshop保存的CMYK格式”,是因为我在为这个问题查找资料的过程中,找到一些声称“支持CMYK”的图像控件,当我用它们调入photoshop保存的CMYK格式的图片的时候,照样显示得面目全非,看起来象一个灰度图,上面掺杂一些细微的色斑,而且,本来和图片大小一样的组件,只能显示图片的一部分。这样看来,同一个CMYK里面还有不同的学问了,由于我只有photoshop,没法得到“别的CMYK”图片,所以无法验证。
崔作非 2005-06-03
  • 打赏
  • 举报
回复
这时说的是文件存取格式,和编码没有任何关系。只有在JPEG文件中存取相关信息才能确定是什么颜色模式,最终采用不同的解码机制来处理。
英寸和市尺只是打一个我们日常生活中的例子而已,事实上任何一种图片都是可以在屏幕上显示和在打印机上打印的,只是颜色和效果不一样,但我们仍知道它们是一幅图,只是适合不一样。英寸和市尺也是有它们自已应用的适合的。

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧