如何在打开JPG文件之前判定其是否正确?

boydgmx 2004-06-11 08:43:49
此处所谓的“正确”,是指能正常显示。
比如Photoshop在打开图片之前,肯定事先判断一系列的条件,然后才读取图片信息,显示出来。我现在只知道判断 开始标志 FFD8、结束标志 FFD9,还有格式标志JFIF等,不知道还要判断哪些标志?

请高手!!
...全文
212 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
matrixleon 2004-06-26
  • 打赏
  • 举报
回复
好东西,一般不打开不能保证正确,打开了要是错位怎么办呢?
DarthVader 2004-06-19
  • 打赏
  • 举报
回复
不打开一般不能百分百确保正确的
tangt 2004-06-17
  • 打赏
  • 举报
回复
如果光是要求显示出来,我提一个小技巧,诸位看如何:
直接在内存中装入该图形文件。(实际是装入图形组件)
如果产生意外,就是文件错误了。
其实和楼上的意思差不多,如果是一个好的组件,应该可以保证。

这几天看面向过程和面向组件的概念看多了,不过是让大家习惯,或者明朗一下面向过程编程和面向组件编程有什么区别,呵呵。
xzygod 2004-06-16
  • 打赏
  • 举报
回复
你可以参考一下我的编码程序,里面有jpeg文件头说明 http://www.csdn.net/Develop/read_article.asp?id=22948
DarthVader 2004-06-16
  • 打赏
  • 举报
回复
用GDI+,这样就能判断是否正常显示,但其实已经打开过了:

// 是否支持显示,实际的判断图像内容
BOOL CQueryClientDoc::IsImageGDIPLUSValid( CString filePath )
{
Bitmap image( filePath.AllocSysString() );

if( image.GetFlags() == ImageFlagsNone ) return FALSE;
else return TRUE;
}
tangt 2004-06-13
  • 打赏
  • 举报
回复
文件本身的正确性吗?
有两种情况你是否也算作不正确,
你可能也知道如何在一个图像文件中加入自己的私有数据,甚至是可执行文件;
部分图像压缩后,有个别点会变色,(算法问题)
如果你指文件传输等后和源文件是否一样,直接做二进制比较,或者传输校验的思路应该更合理。
zzwu 2004-06-11
  • 打赏
  • 举报
回复
文件标志正确后,我想就可以开始读文件,但在读的过程中,除了二进制的图像数据可以不检查(也不可能检查)之外,其余, 有关图像结构的信息(如width,height,color bits)和文件结构的信息(如size,offset)都需要检查是否合理。

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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