如何检测jpg jpeg图像文件是否已损坏(不完整)?

如何检测jpg jpeg图像文件是否已损坏(不完整)?,第1张

概述我必须在我的网站上显示来自其他人的图像服务器的一些图像,但是图像服务器中的一些图像只能部分显示如下图像 图像包括宽度和高度信息,但仅显示图像的顶部.如果我使用Chrome v61打开图片,它看起来就像下面的图片 Chrome v61显示此颜色以显示png图像文件中的透明度,但它在jpg jpeg图像文件中意味着什么? 有没有人知道如何检测这种损坏(不完整)的图像?我正试图避免在我的网站上显示这种图 我必须在我的网站上显示来自其他人的图像服务器的一些图像,但是图像服务器中的一些图像只能部分显示如下图像

图像包括宽度和高度信息,但仅显示图像的顶部.如果我使用Chrome v61打开图片,它看起来就像下面的图片

Chrome v61显示此颜色以显示png图像文件中的透明度,但它在jpg jpeg图像文件中意味着什么?

有没有人知道如何检测这种损坏(不完整)的图像?我正试图避免在我的网站上显示这种图像.

解决方法 如果您需要“编程”方法而不是@MarkSetchell建议的命令行方法,您可以在几乎任何编程语言中为此创建一个非常快速的测试.请注意,这只会找到您在问题中提到的截断损坏类型. Mark的方法对于发现一般的腐败可能更可靠.

我们知道,任何JPEG文件或流都是根据JPEG Interchange Format写入的.这意味着它们必须以SOI(图像起始)标记(两个字节0xFF,0xD8)开始,并以EOI结束(End-of -Image)标记(两个字节,0xFF,0xD9).在JPEG文件/流中的任何其他位置都找不到这两个标记.

如果您首先通过检查前两个字节并将其与SOI标记匹配来将文件识别为JPEG,则可以跳到最后并向后搜索EOI标记.最有可能的是,这将是最后两个字节,或者根本不会找到它们.但是进行搜索可能更安全(可能是有限的长度),因为我认为可以允许在EOI之后将特定于应用程序的数据放在JPEG文件中(如果我错了,请纠正我).

总结

以上是内存溢出为你收集整理的如何检测jpg jpeg图像文件是否已损坏(不完整)?全部内容,希望文章能够帮你解决如何检测jpg jpeg图像文件是否已损坏(不完整)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074904.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存