<%
クラスIMGWHINFO '' '、支持JPG、GIF、PNG、BMP
薄暗いアソ
private sub class_initialize
aso = server.createobject( "adodb.stream")を設定します
aso.mode = 3
aso.type = 1
aso.open
End Sub
プライベートSub Class_terminate
err.clear
ASO =何も設定しません
End Sub
プライベート機能bin2str(bin)
dim i、str
i = 1にレンブ(ビン)へ
clow = midb(bin、i、1)
ASCB(Clow)<128の場合
str = str&chr(ascb(clow))
それ以外
i = i+1
i <= lenb(bin)の場合、str = str&chr(ascw(bin、i、1)&clow))
ifを終了します
次
bin2str = str
エンド関数
プライベート関数num2str(num、base、lens)
dim ret
ret = ""
while(num> = base)
ret =(num modベース)&ret
num =(num -num modベース)/ベース
ウェンド
num2str = right(string(lens、 "0")&num&ret、lens)
エンド関数
プライベート関数str2num(str、base)
dim ret、i
ret = 0
i = 1 to len(str)
ret = ret *base + cint(mid(str、i、1))
次
str2num = ret
エンド関数
プライベート機能ビンバル(ビン)
dim ret、i
ret = 0
i = lenb(bin)から1ステップ-1の場合
ret = ret *256 + ascb(midb(bin、i、1))
次
binval = ret
エンド関数
プライベート機能binval2(bin)
dim ret、i
ret = 0
i = 1にレンブ(ビン)へ
ret = ret *256 + ascb(midb(bin、i、1))
次
binval2 = ret
エンド関数
プライベート機能getImagesize(fileSpec)
薄暗いbflag
dim ret(3)
aso.loadfromfile(fileSpec)
bflag = aso.read(3)
ケースヘックス(binval(bflag))を選択します
ケース "4e5089":
aso.read(15)
ret(0)= "png"
ret(1)= binval2(aso.read(2))
aso.read(2)
ret(2)= binval2(aso.read(2))
ケース "464947":
aso.read(3)
ret(0)= "gif"
ret(1)= binval(aso.read(2))
ret(2)= binval(aso.read(2))
ケース "535746":
aso.read(5)
bindata = aso.read(1)
sconv = num2str(ascb(bindata)、2、8)
nbits = str2num(左(sconv、5)、2)
sconv = mid(sconv、6)
while(len(sconv)<nbits*4)
bindata = aso.read(1)
sconv = sconv&num2str(ascb(bindata)、2、8)
ウェンド
ret(0)= "swf"
ret(1)= int(abs(str2num(mid(sconv、1*nbits+1、nbits)、2)-str2num(mid(sconv、0*nbits+1、nbits)、2))/20)
ret(2)= int(abs(str2num(mid(sconv、3*nbits+1、nbits)、2)-str2num(mid(sconv、2*nbits+1、nbits)、2))/20)
ケース "ffd8ff":
する
do:p1 = binval(aso.read(1)):ループ中はp1 = 255であり、aso.eosではありません
p1> 191およびp1 <196の場合、exit exit aso.read(binval2(aso.read(2))-2)を行います。
do:p1 = binval(aso.read(1)):loop wile p1 <255およびaso.eosではありません
真実でループ
aso.read(3)
ret(0)= "jpg"
ret(2)= binval2(aso.read(2))
ret(1)= binval2(aso.read(2))
その他:
残っている場合(bin2str(bflag)、2)= "bm"その後
aso.read(15)
ret(0)= "bmp"
ret(1)= binval(aso.read(4))
ret(2)= binval(aso.read(4))
それ以外
ret(0)= ""
ifを終了します
[選択]を終了します
ret(3)= "width =" ""&ret(1)& "" "&ret(2)&" "" "
getImagesize = ret
エンド関数
パブリック機能IMGW(IMGPATH)
dim fso、imgfile、fileext、arr
fso = server.createObject( "scripting.filesystemObject")を設定します