如何判断图形文件的格式是否是JPEG呢?
2008-12-14 17:21
302 查看
window.google_render_ad(); |
不同软件生成的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
相关文章推荐
- Android中如何通过文件路径判断是否是同一文件
- 如何判断一个txt文件的编码格式
- 如何判断一个文件是否结束?
- PHP如何判断远程图片文件是否存在
- VB学习8_VBA如何模糊判断包含某关键字的文件是否存在?
- linux shell如何判断文件/文件夹是否存在
- 判断上传文件 (是否为空、格式是否满足)
- 如何判断指定的文件是否存在
- JAVA中如何判断文件或文件夹是否存在
- 如何在shell脚本中判断文件或者文件夹是否存在?
- 如何判断一个文件是否是win32可执行文件
- ecshop如何判断缓存文件是否能更新
- 如何判断一个文本文件内容的编码格式 UTF-8 ? ANSI(GBK)
- FCL小应用系列-----------如何判断文件是否存在?
- c#判断图形文件(GIF,JPG,PNG)的图片格式的方法
- Java如何判断文件或者文件夹是否在?不存在如何创建?
- batch文件中如何判断一个变量是否存在 (注意不是变量是否有值)
- C#中如何判断一个文件是否存在
- php判断文件上传图片格式是否为图片
- windows10UWP:如何判断一个文件或者文件夹是否存在?