国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

利用VBScript及ADODB.Steam獲取部分格式圖象長寬

2024-07-21 02:24:01
字體:
來源:轉載
供稿:網友
function bytes2bstr(vin)
if lenb(vin) =0 then
bytes2bstr = ""
exit function
end if
''二進制轉換為字符串
dim bytesstream,stringreturn
set bytesstream = server.createobject("adodb.stream")
bytesstream.type = 2
bytesstream.open
bytesstream.writetext vin
bytesstream.position = 0
bytesstream.charset = "gb2312"
bytesstream.position = 2
stringreturn = bytesstream.readtext
bytesstream.close
set bytesstream = nothing
bytes2bstr = stringreturn
end function

function binval(bin)
dim i
dim ret:ret = 0
for i = lenb(bin) to 1 step -1
ret = ret *256 + ascb(midb(bin,i,1))
next
binval = ret
end function

function binval2(bin)
dim i
dim ret:ret = 0
for i = 1 to lenb(bin)
ret = ret *256 + ascb(midb(bin,i,1))
next
binval2 = ret
end function

function getimagewh(fdata)
'一個實參fdata,二進制圖象數據(至于怎么讀取圖象的二進制數據就不用說了吧-_-!)
'返回值為一個數組,3個元素,分別為圖片格式.長.寬

dim ret(2),bflag,fsize,ados

fsize=clng(lenb(fdata)) '取得數據尺寸

if fsize=0 then exit function

set ados = server.createobject("adodb.stream")
ados.type = 1
ados.mode = 3
ados.open

ados.write fdata
ados.position = 0

'寫文本對象讀取圖像長寬和類型

ados.position = 0 '重置數據開始位置
bflag = ados.read(3)

if isnull(bflag) then
ret(0) = "unknow"
ret(1) = 0
ret(2) = 0
getimagewh = ret
exit function
end if

'取文件類型和長寬
select case hex(binval(bflag))
case "4e5089":
ados.read(15)
ret(0) = "png"
ret(1) = binval2(ados.read(2))
ados.read(2)
ret(2) = binval2(ados.read(2))
case "464947":
ados.read(3)
ret(0) = "gif"
ret(1) = binval(ados.read(2))
ret(2) = binval(ados.read(2))
case "ffd8ff":
dim p1
do
do: p1 = binval(ados.read(1)): loop while p1 = 255 and not ados.eos
if p1 > 191 and p1 < 196 then exit do else ados.read(binval2(ados.read(2))-2)
do:p1 = binval(ados.read(1)):loop while p1 < 255 and not ados.eos
loop while true
ados.read(3)
ret(0) = "jpg"
ret(2) = binval2(ados.read(2))
ret(1) = binval2(ados.read(2))
case else:
if left(bytes2bstr(bflag),2) = "bm" then
ados.read(15)
ret(0) = "bmp"
ret(1) = binval(ados.read(4))
ret(2) = binval(ados.read(4))
else
ret(0) = ""
end if
ados.close
set ados = nothing
end select

select case ret(0)
case "png","jpg","bmp","gif"
ret(1) = ret(1)
ret(2) = ret(2)
ret(0) = ret(0)
case else
ret(1) = 0
ret(2) = 0
ret(0) = "unknow"
end select

getimagewh = ret
end function

function getwebdata(strurl)
'獲取internet上的圖片二進制數據
on error resume next
if strurl="" then
getwebdata = ""
exit function
end if
dim tempstr
tempstr=split(strurl,"/")
if tempstr(ubound(tempstr))="" or instr(strurl,"/")=0 then
getwebdata = ""
exit function
end if

dim retrieval
set retrieval = server.createobject("microsoft.xmlhttp")
with retrieval
.open "get", strurl, false, "", ""
.send
getwebdata =.responsebody
end with
set retrieval = nothing
if err.number <> 0 then err.clear

end function

最大的網站源碼資源下載站,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北川| 长乐市| 三穗县| 吴忠市| 永城市| 文安县| 皮山县| 新蔡县| 贵南县| 鄂伦春自治旗| 铜川市| 洪雅县| 东光县| 闸北区| 晋江市| 慈溪市| 江西省| 肇东市| 涟水县| 娱乐| 白银市| 临泽县| 柳林县| 鲜城| 江门市| 平泉县| 上虞市| 濮阳县| 张掖市| 阜南县| 乐清市| 徐汇区| 婺源县| 宝兴县| 东光县| 微博| 南丰县| 浑源县| 长葛市| 玛沁县| 阿拉善左旗|