如何判断图片(jpg,BMP)文件是否损坏
3个回答
展开全部
'测试图片文件是否为JPG或JPEG文件(与文件扩展名无关)
'参数说明:Filename 要测试的图片文件名,返回值为逻辑型
'调用举例:if TestJpgFile("c:\1.jpg")=True then msgbox "是JPG文件"
Function TestJpgFile(Filename As String) As Boolean
Dim i As Integer, S As String, bb() As Byte
If Dir(Filename) = "" Or Filename = "" Then Exit Function
i = FreeFile
ReDim bb(9)
Open Filename For Binary As #i
Get #i, 1, bb
Close #i
S = UCase(StrConv(bb, vbUnicode))
'JPG文件
If UCase(Chr(bb(6)) & Chr(bb(7)) & Chr(bb(8)) & Chr(bb(9))) = "EXIF" Then TestJpgFile = True
'JPEG文件,如何你觉得不用,可删除下面这行代码
If UCase(Chr(bb(6)) & Chr(bb(7)) & Chr(bb(8)) & Chr(bb(9))) = "JFIF" Then TestJpgFile = True
End Function
'参数说明:Filename 要测试的图片文件名,返回值为逻辑型
'调用举例:if TestJpgFile("c:\1.jpg")=True then msgbox "是JPG文件"
Function TestJpgFile(Filename As String) As Boolean
Dim i As Integer, S As String, bb() As Byte
If Dir(Filename) = "" Or Filename = "" Then Exit Function
i = FreeFile
ReDim bb(9)
Open Filename For Binary As #i
Get #i, 1, bb
Close #i
S = UCase(StrConv(bb, vbUnicode))
'JPG文件
If UCase(Chr(bb(6)) & Chr(bb(7)) & Chr(bb(8)) & Chr(bb(9))) = "EXIF" Then TestJpgFile = True
'JPEG文件,如何你觉得不用,可删除下面这行代码
If UCase(Chr(bb(6)) & Chr(bb(7)) & Chr(bb(8)) & Chr(bb(9))) = "JFIF" Then TestJpgFile = True
End Function
展开全部
单纯判断是否损坏,不考虑是不是原图是不是被修改的话,只要使用不同的图片查看软件尝试打开就行了,如果各种图片软件都无法强制打开就基本算是损坏了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
mbed out of the water, the medic, with tears of la
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |