如何判断图形文件的格式是否是JPEG呢?

<script type=text/javascript> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type=text/javascript> </script> <script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script> <script src="http://pagead2.googlesyndication.com/pagead/render_ads.js"></script> <script>window.google_render_ad();</script>
以前用过分析文件头的方法,但是即麻烦又有可能不准确。
不同软件生成的JPEG文件格式不同,如同一个JPEG文件用不同的软件(ACDSee, PhotoShop, Paint, Photo Editor等)另存一下,文件头都可能不同。
在.NET中是否有什么简单的方法呢。原来以为调入文件生成Image,通过检查Image的属性就可以很简单的知道,但发现无论是JPEG还是Bitmap通过上述方式调入后,Image的ImageType属性都是Bitmap.

在.NET还有其他的方法可以检查图形文件格式吗。

我的文件指本地文件,数据块(byte[])。
fancyf(凡瑞) 于 2005-6-24 10:44:59
检查一下jpeg的文件标识:
附:JPEG 文件格式
~~~~~~~~~~~~~~~~

- 文件头 (2 bytes): $ff, $d8 (SOI) (JPEG 文件标识)
- 任意数量的段 , 见后面
- 文件结束 (2 bytes): $ff, $d9 (EOI)

这样只需要判断前两个字节和最后两个字节就可以了
(详见:http://www.allaboutprogram.com/bb/viewtopic.php?t=1359&start=0&postdays=0&postorder=asc&highlight=)
fancyf(凡瑞) 于 2005-6-24 10:47:30
无论用什么软件保存,只要是jpg,首尾那一共四个字节都不会改变的,因为他们是jpg文件的标志,没有他们就不是jpg文件
hawksbill(玳瑁) 于 2005-6-24 11:06:06
标准文件头的前4个字节为0xFF, 0xD8,0xFF,0xE0.
但是有很多软件生成的文件头不太一样,例如1个标准JPEG文件在ACDSee6.0中另存之后,第4个字节就变成了0xE1.
hawksbill(玳瑁) 于 2005-6-24 11:09:06
首尾4个字节的确是不变的,但是这样判断有点漏洞。
现在想知道有没有什么其他的简单又可靠的方式。
fancyf(凡瑞) 于 2005-6-24 11:10:42
第四个字节变不变没有关系,因为它不是jpeg文件的标识
我说的是文件开头的两个字节,和文件末尾的两个字节,这一共四个字节不会变,不是前四个字节
songhtao(三十年孤独) 于 2005-6-24 11:34:03
最简单的就是看文件后缀是否有.jpg或.jpeg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值