二进制读取图片,判断其格式的问题
问题如下:Stream.Read(10) 返回的 Byte() 字节数组却无法利用下标访问!!
Response.Write TypeName(Data) & "<BR>" & UBound(Data)
Response.End
结果如下:
Byte()
9
如何访问这个 Byte() 数组啊?
源代码如下:
Public Function GetImageType(FileName)
Dim Data
Set Stream = CreateObject("ADODB.Stream")
FileName = CStr(FileName) '强制类型装换
Stream.Mode = 3 '可读写
Stream.Type = 1 '二进制读取
Stream.Open '打开流对像
Stream.LoadFromFile FileName '加载文件
Data = Stream.Read(10) '预读取十个字节
Stream.Close '关闭流对像
'下面注释掉的语句,输出 Byte() 和 9 !! 但无法用 Data(0),Data(1) .... 来访问数据!!
'Response.Write TypeName(Data) & "<BR>"
'Response.Write UBound(Data)
'Response.End
'判断是否是 BMP 格式图片,标志为 42 4D 36 偏移值为 0
If Data(0) = 66 And Data(1) = 77 And Data(2) = 54 Then
GetImageType = 1
Exit Function
End If
'判断是否是 JPEG 格式图片,标志为 4A 46 49 46 偏移值为 6
If Data(6) = &H4A And Data(7) = &H46 And Data(8) = &H49 And Data(9) = &H46 Then
GetImageType = 2
Exit Function
End If
'判断是否是 GIF 格式图片,标志为 47 49 46 偏移值为 0
If Data(0) = &H47 And Data(1) = &H49 And Data(2) = &H46 Then
GetImageType = 3
Exit Function
End If
'判断是否是 PNG 格式图片,标志为 50 4E 47 偏移值为 1
If Data(1) = &H50 And Data(2) = &H4E And Data(3) = &H47 Then
GetImageType = 4
Exit Function
End If
'判断是否是 TIF 格式图片,标志为 49 49 2A 00 4C 42 偏移值为 0
If Data(0) = &H49 And Data(1) = &H49 And Data(4) = &H4C And Data(5) = &H42 Then
GetImageType = 5
Exit Function
End If
GetImageType = 0
End Function
相关推荐
php判断文件上传图片格式的实例详解
主要介绍了php判断文件上传图片格式的实例详解的相关资料,希望通过本文能帮助大家实现这样方法,非常有参考价值,需要的朋友可以参考下
易语言判断图片格式源码.zip易语言项目例子源码下载
易语言判断图片格式源码.zip易语言项目例子源码下载易语言判断图片格式源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考
解决python cv2.imread 读取中文路径的图片返回为None的问题
使用cv2读取图片时,输出图片形状大小时出现报错“ ‘NoneType’ object has no attribute shape”,后来排查发现读取图片的返回值image为None, 这就说明图片根本就没有被读取。 下面图片是问题问题解决后,为了更好的展示,写的代码展示,这是正常的因果关系,找错误排查时是从下往上推。 使用PIL读取图像,能够成功读取图片,借此了解图片的大小和格式,代码如下图所示: cv.imread函数能够成功读取非中文路径的图片,所以就想到是不是中文路径的问题,opencv中opencv不接受non-ascii的路径,解决方法就是先用先用np.fromfile()读
Python基于pillow判断图片完整性的方法
主要介绍了Python基于pillow判断图片完整性的方法,结合实例形式简单分析了pillow的安装及图片完整性判断的相关操作技巧,需要的朋友可以参考下
Python检查图片是否损坏及图片类型是否正确过程详解
主要介绍了Python检查图片是否损坏及图片类型是否正确过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下


