虫网首页 | 虫网博客 | 翻唱专区 | 原创专区 | 独奏专区 | 视频教程 | 吉他谱区 | 会员相册
发新话题
打印

利用FSO取得BMP,JPG,PNG,GIF文件信息

利用FSO取得BMP,JPG,PNG,GIF文件信息

<% '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: '::: BMP, GIF, JPG and PNG ::: '::::原作:junyd::::::::::: ':::::翻译:欧阳东杰:::::::::::::::::::::::::::::::::::::::::: '::: ::: '::: 这个东东能从BMP, GIF, JPG and PNG 图片拿到这个文件得字节 ::: '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: function GetBytes(flnm, offset, bytes) Dim objFSO Dim objFTemp Dim objTextStream Dim lngSize on error resume next Set objFSO = CreateObject("Scripting.FileSystemObject")

' 首先,我们得到filesize Set objFTemp = objFSO.GetFile(flnm) lngSize = objFTemp.Size set objFTemp = nothing fsoForReading = 1 Set objTextStream = objFSO.OpenTextFile(flnm, fsoForReading) if offset > 0 then strBuff = objTextStream.Read(offset - 1) end if if bytes = -1 then ' Get All! GetBytes = objTextStream.Read(lngSize) 'ReadAll else GetBytes = objTextStream.Read(bytes) end if objTextStream.Close set objTextStream = nothing set objFSO = nothing end function

'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: '::: ::: '::: 下面是把两个字节转化成统一数值的的功能 ::: '::: (小endian 和大的endian ) ::: '::: ::: '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: function lngConvert(strTemp) lngConvert = clng(asc(left(strTemp, 1)) + ((asc(right(strTemp, 1)) * 256))) end function function lngConvert2(strTemp) lngConvert2 = clng(asc(right(strTemp, 1)) + ((asc(left(strTemp, 1)) * 256))) end function

'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: '::: ::: '::: 这个功能做大多数真正的工作。 它意愿尝试 ::: '::: 读任何文件::: '::: 如果它是一幅图表的图像,鉴定 . ::: '::: ::: '::: Passed: ::: '::: flnm => Filespec of file to read ::: '::: width => width of image ::: '::: height => height of image ::: '::: depth => color depth (in number of colors) ::: '::: strImageType=> type of image (e.g. GIF, BMP, etc.) ::: '::: ::: '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: function gfxSpex(flnm, width, height, depth, strImageType) dim strPNG dim strGIF dim strBMP dim strType strType = "" strImageType = "(unknown)" gfxSpex = False strPNG = chr(137) & chr(80) & chr(78) strGIF = "GIF" strBMP = chr(66) & chr(77) strType = GetBytes(flnm, 0, 3) if strType = strGIF then ' is GIF strImageType = "GIF" Width = lngConvert(GetBytes(flnm, 7, 2)) Height = lngConvert(GetBytes(flnm, 9, 2)) Depth = 2 ^ ((asc(GetBytes(flnm, 11, 1)) and 7) +

TOP

发新话题