ASP detecta el tamaño de la imagen
imgpath="default_22.gif"
set pp=new imgInfo
w = pp.imgW(server.mappath(imgpath)) p> p>
h = pp.imgH(server.mappath(imgpath))
set pp=nada
response.write "
width:"&w&";height:"&h
Clase imgInfo
dim aso
Privado Subclase_ Inicializar
establecer aso=CreateObject("Adodb.Stream")
aso.Mode=3
aso.Type=1
aso.Open
End Sub
Subclase privada_Terminate
err.clear
establecer aso=nada
End Sub
Función privada Bin2Str(Bin)
Dim I, Str
Para I=1 a LenB(Bin)
clow =MidB(Bin,I,1)
si ASCB(clow)<128 entonces
Str = Str & Chr(ASCB(clow))
else
I=I+1
Si I <= LenB(Bin) entonces Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow ))
finalizar si
Siguiente
Bin2Str = Str
Fin de Función
Función Privada Normalizar Normal( Bin, I,1)& Chr(ASCW(MidB(Bin,I,1)&clow)
Función final
Función privada Num2Str(num,base,lens)
dim ret
ret = ""
while(num>=base)
ret = (núm mod base) & ret
num = (num - num mod base)/base
wend
Num2Str = right(string(lens, "0") &num &ret,lens )
Función final
Función privada Str2Num(str,base)
dim ret
ret = 0
para i=1 a len(str)
ret = ret *base + cint(mid(str,i,1))
siguiente
Str2Num =ret
Es
Función d
Función privada BinVal(bin)
dim ret
ret = 0
para i = lenb(bin) a 1 paso -1
ret = ret *256 + ascb(midb(bin,i,1))
siguiente
BinVal=ret
Función final
Función privada BinVal2(bin)
dim ret
ret = 0
para i = 1 a lenb( bin)
ret = ret *256 + ascb(midb(bin, i,1))
siguiente
BinVal2=ret
Función final
Función privada getImageSize(filespec)
dim ret(3)
aso.LoadFromFile(filespec)
bFlag= aso.read(3)
seleccione case hex(binVal (bFlag))
case "4E5089":)=BinVal2(aso.read(2))
caso "464947":
aso.read(3)
ret(0)="GIF"
ret(1)=BinVal(aso .read(2))
ret(2)=BinVal(aso.read(2))
case "535746":
aso.read( 5)
binData=aso.read(1)
sConv=Num2Str(ascb(binData),2,8)
nBits=Str2Num(izquierda( sConv,5),2)
sConv=mid(sConv,6)
mientras(len(sConv) binData=aso .Read(1) sConv= sConv&Num2Str(ascb(binData),2,8) wend ret(0)="SWF" p> 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) Ejemplo "FFD8FF": bucle while p1<255 y no aso.EOS bucle while true aso.Read(3) ret(0)="JPG" ret(2)=binval2(aso.Read(2)) ret(1)=binval2(aso.Read(2)) caso más: if left(Bin2Str(bFlag),2)="BM" t gallina aso.Read(15) ret(0)="BMP" ret(1)=binval(aso.Read(4)) ret(2)=binval(aso.Read(4)) else ret(0)="" finalizar si end select ret(3)="width=""" & ret(1) &" height=""" & amp; """ getimagesize=ret Función final Función pública imgW(pic_path) Establecer fso1 = server.CreateObject( " Scripting.FileSystemObject") Si (fso1.FileExists(pic_path)) Entonces Establezca f1 = fso1.GetFile(pic_path) ext=fso1.GetExtensionName (pic_path) Función pública imgW(pic_path) seleccionar caso text caso "gif", "bmp", "jpg", "png": arr=getImageSize(f1.path) imgW = arr(1 ) finalizar selección Establecer f1=nada p> p> else imgW = 0 Finalizar si Establecer fso1=nada Finalizar función Función pública imgH(pic_path) Establecer fso1 = server.CreateObject("Scripting.FileSystemObject") Si (fso1.FileExists(pic_path)) Entonces Establecer f1 = fso1.GetFile(pic_path) ext=fso1.GetExtensionName(pic_path) seleccionar caso text caso " gif", "bmp", "jpg", "png": arr=getImageSize(f1.path) imgH = arr(2) finalizar seleccionar Establecer f1=nada más imgH = 0 Finalizar si Establecer fso1= nada Finalizar función Finalizar clase %>