当前位置:K88软件开发文章中心编程语言AspAsp01 → 文章内容

asp获取图片的高度和宽度的类

减小字体 增大字体 作者:佚名     来源:asp编程网  发布时间:2018-12-30 8:31:50

<
%
Class ImgWHInfo '获取图片宽度和高度的类,支持JPG,GIF,PNG,BMP
 
 
 
Dim ASO
 
 
 
Private Sub Class_Initialize
 
 
 
 
 
 
 
Set ASO=Server.CreateObject("ADODB.Stream")
 
 
 
 
 
 
 
ASO.Mode=3
 
 
 
 
 
 
 
ASO.Type=1
 
 
 
 
 
 
 
ASO.Open
 
 
 
End Sub
 
 
 
Private Sub Class_Terminate
 
 
 
 
 
 
 
Err.Clear
 
 
 
 
 
 
 
Set ASO=Nothing
 
 
 
End Sub

 
 
 
Private Function Bin2Str(Bin)
 
 
 
 
 
 
 
Dim I, Str
 
 
 
 
 
 
 
For I=1 To LenB(Bin)
 
 
 
 
 
 
 
 
 
 
 
clow=MidB(Bin,I,1)
 
 
 
 
 
 
 
 
 
 
 
If ASCB(clow)<
128 Then
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Str = Str &
Chr(ASCB(clow))
 
 
 
 
 
 
 
 
 
 
 
Else
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
I=I+1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
If I <
= LenB(Bin) Then Str = Str &
Chr(ASCW(MidB(Bin,I,1)&
clow))
 
 
 
 
 
 
 
 
 
 
 
End If
 
 
 
 
 
 
 
Next
 
 
 
 
 
 
 
Bin2Str = Str
 
 
 
End Function
 
 
 
 
 

 
 
 
Private Function Num2Str(Num,Base,Lens)
 
 
 
 
 
 
 
Dim Ret
 
 
 
 
 
 
 
Ret = ""
 
 
 
 
 
 
 
While(Num>
=Base)
 
 
 
 
 
 
 
 
 
 
 
Ret = (Num Mod Base) &
Ret
 
 
 
 
 
 
 
 
 
 
 
Num = (Num - Num Mod Base)/Base
 
 
 
 
 
 
 
Wend
 
 
 
 
 
 
 
Num2Str = Right(String(Lens,"0") &
Num &
Ret,Lens)
 
 
 
End Function
 
 
 
 
 

 
 
 
Private Function Str2Num(Str,Base)
 
 
 
 
 
 
 
Dim Ret,I
 
 
 
 
 
 
 
Ret = 0
 
 
 
 
 
 
 
For I=1 To Len(Str)
 
 
 
 
 
 
 
 
 
 
 
Ret = Ret *base + Cint(Mid(Str,I,1))
 
 
 
 
 
 
 
Next
 
 
 
 
 
 
 
Str2Num=Ret
 
 
 
End Function
 
 
 
 
 

 
 
 
Private Function BinVal(Bin)
 
 
 
 
 
 
 
Dim Ret,I
 
 
 
 
 
 
 
Ret = 0
 
 
 
 
 
 
 
For I = LenB(Bin) To 1 Step -1
 
 
 
 
 
 
 
 
 
 
 
Ret = Ret *256 + AscB(MidB(Bin,I,1))
 
 
 
 
 
 
 
Next
 
 
 
 
 
 
 
BinVal=Ret
 
 
 
End Function
 
 
 
 
 

 
 
 
Private Function BinVal2(Bin)
 
 
 
 
 
 
 
Dim Ret,I
 
 
 
 
 
 
 
Ret = 0
 
 
 
 
 
 
 
For I = 1 To LenB(Bin)
 
 
 
 
 
 
 
 
 
 
 
Ret = Ret *256 + AscB(MidB(Bin,I,1))
 
 
 
 
 
 
 
Next
 
 
 
 
 
 
 
BinVal2=Ret
 
 
 
End Function
 
 
 
 
 

 
 
 
Private Function GetImageSize(filespec)
 
 
 
 
 
 
 
Dim bFlag
 
 
 
 
 
 
 
Dim Ret(3)
 
 
 
 
 
 
 
ASO.LoadFromFile(filespec)
 
 
 
 
 
 
 
bFlag=ASO.Read(3)
 
 
 
 
 
 
 
Select Case Hex(binVal(bFlag))
 
 
 
 
 
 
 
Case "4E5089":
 
 
 
 
 
 
 
 
 
 
 
ASO.Read(15)
 
 
 
 
 
 
 
 
 
 
 
ret(0)="PNG"
 
 
 
 
 
 
 
 
 
 
 
ret(1)=BinVal2(ASO.Read(2))
 
 
 
 
 
 
 
 
 
 
 
ASO.Read(2)
 
 
 
 
 
 
 
 
 
 
 
ret(2)=BinVal2(ASO.Read(2))
 
 
 
 
 
 
 
Case "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(left(sConv,5),2)
 
 
 
 
 
 
 
 
 
 
 
sConv=mid(sConv,6)
 
 
 
 
 
 
 
 
 
 
 
While(len(sConv)<
nBits*4)
 
 
 
 
 
 
 
 
 
 
 
 
 
&n

[1] [2]  下一页


asp获取图片的高度和宽度的类