获取图片的宽度和高度的类,支持JPG,GIF,PNG,bmp

<
类imgwhinfo得到图片的宽度和高度,这类支持JPG,GIF,PNG,BMP
昏暗的ASO
私有子class_initialize
集麻生太郎= server.createobject(ADODB。流)
模式= 3
类型= 1
麻生太郎开。
端子
私有子class_terminate
呃。清晰
设置无
端子

私有函数bin2str(仓)
我,Str
我= 1 LenB(宾)
克洛=多重交替焙烘显影工艺(Bin,我,1)
如果ASCB(Clow)< 128
STR = Str Chr(ASCB(Clow))
其他的
i = i + 1
如果我lenb然后STR STR(bin)= CHR(ascw(多重交替焙烘显影工艺(Bin,我,1)克洛))
最后如果
下一个
bin2str = str
端功能

私有函数num2str(num,底座、镜头)
昏暗的RET
=
当(数字=基础)
RET =(数字mod基)RET
数字=

num2str =右(字符串(镜头,0 )Num Ret,镜头)
端功能

私有函数str2num(STR,基地)
我回来了
ret = 0
对于i = 1到Len(STR)
ret = RET *基地+ Cint(MID(STR,I,1))
下一个
str2num = ret
端功能

私有函数BinVal(仓)
我回来了
ret = 0
我= lenb(bin)1步1
ret = RET * 256 + AscB(多重交替焙烘显影工艺(Bin,我,1))
下一个
binVal = ret
端功能

私有函数binval2(仓)
我回来了
ret = 0
我= 1 LenB(宾)
ret = RET * 256 + AscB(多重交替焙烘显影工艺(Bin,我,1))
下一个
binval2 = ret
端功能

私有函数getimagesize(filespec)
昏暗的bflag
昏暗的RET(3)
aso.loadfromfile(filespec)
bflag = aso.read(3)
选择案例六(binVal(bflag))
案例4e5089 :
阅读(15)
RET(0)=PNG
RET(1)= binval2(aso.read(2))
阅读(2)
RET(2)= binval2(aso.read(2))
案例464947:
(3)aso.read
RET(0)
RET(1)= BinVal(aso.read(2))
RET(2)= BinVal(aso.read(2))
案例535746:
(5)aso.read
bindata = aso.read(1)
sconv = num2str(ASCB(bindata),2, 8)
带= str2num(左(sconv,5),2)
sconv =中(sconv,6)
而(Len(sconv)<带* 4)
bindata = aso.read(1)
sconv = sconvnum2str(AscB(bindata),2, 8)

RET(0)=SWF
RET(1)= int(ABS(str2num(MID(sconv,1×带+ 1,带),2)- str2num(MID(sconv,0×带+ 1, 2))))
RET(2)= int(ABS(str2num(MID(sconv,3×带+ 1,带),2)- str2num(MID(sconv,2×带+ 1, 2))))
案例ffd8ff :

做:P1 = binVal(aso.read(1)):当P1 = 255和不aso.eos环
如果P1和P1>191<196然后退出做别的aso.read(binval2(aso.read(2))- 2)
做:P1 = binVal(aso.read(1)):当P1<255,不aso.eos环
而真正的环
阅读(3)
RET(0)= JPG
RET(2)= binval2(aso.read(2))
RET(1)= binval2(aso.read(2))
其他案件:
如果左(bin2str(bflag),2)=BM然后
阅读(15)
RET(0)=bmp
RET(1)= binVal(aso.read(4))
RET(2)= binVal(aso.read(4))
其他的
RET(0)=
最后如果
最后选择
RET(3)=宽度=(1)高度……(2)。
getimagesize = ret
端功能

公共功能imgw(imgpath)
昏暗的FSO,IMGFile,fileext,Arr
设置FSO = server.createobject(脚本。FileSystemObject )
如果(fso.fileexists(imgpath))然后
集imgfile = fso.getfile(imgpath)
fileext = fso.getextensionname(imgpath)
选择案例fileext
案例
ARR = getimagesize(imgfile。路径)
imgw = ARR(1)
最后选择
集imgfile =没有
其他的
imgw = 0
最后如果
设置FSO
端功能

公共功能imgh(imgpath)
昏暗的FSO,IMGFile,fileext,Arr
设置FSO = server.createobject(脚本。FileSystemObject )
如果(fso.fileexists(imgpath))然后
集imgfile = fso.getfile(imgpath)
fileext = fso.getextensionname(imgpath)
选择案例fileext
案例
ARR = getimagesize(imgfile。路径)
imgh = ARR(2)
最后选择
集imgfile =没有
其他的
imgh = 0
最后如果
设置FSO
端功能
类的结束
%>
<
imgpath =测试。JPG

设置新的imgwhinfo PP =
W = pp.imgw(server.mappath(imgpath))
H = pp.imgh(server.mappath(imgpath))
设置pp
%>
<
昏暗的W,PXHeight
暗淡的PP /比例
如果w=0或w 那么
pxwidth = 0
pxheight = 0
其他的
PP = formatnumber(W / H,2) / /纵横比
最后如果
如果w = h,那么
如果w=300,那么
pxwidth = 300
pxheight = formatnumber(300 /聚丙烯,0)
其他的
pxwidth = W
pxheight = H
最后如果
其他的
如果pheight > = 260
pxheight = 260
pxwidth = formatnumber(260 Pp,0)
其他的
pxwidth = W
pxheight = H
最后如果
最后如果
写(pxwidth)反应。
%>

高度= >