1ASP中取得图片宽度和高度的类(无组件)<%
  2ASP中取得图片宽度和高度的类(无组件)Class ImgWHInfo '获取图片宽度和高度的类,支持JPG,GIF,PNG,BMP
  3ASP中取得图片宽度和高度的类(无组件)    Dim ASO
  4ASP中取得图片宽度和高度的类(无组件)    Private Sub Class_Initialize
  5ASP中取得图片宽度和高度的类(无组件)        Set ASO=Server.CreateObject("ADODB.Stream")
  6ASP中取得图片宽度和高度的类(无组件)        ASO.Mode=3
  7ASP中取得图片宽度和高度的类(无组件)        ASO.Type=1
  8ASP中取得图片宽度和高度的类(无组件)        ASO.Open
  9ASP中取得图片宽度和高度的类(无组件)    End Sub
 10ASP中取得图片宽度和高度的类(无组件)    Private Sub Class_Terminate
 11ASP中取得图片宽度和高度的类(无组件)        Err.Clear
 12ASP中取得图片宽度和高度的类(无组件)        Set ASO=Nothing
 13ASP中取得图片宽度和高度的类(无组件)    End Sub 
 14ASP中取得图片宽度和高度的类(无组件) 
 15ASP中取得图片宽度和高度的类(无组件)    Private Function Bin2Str(Bin)
 16ASP中取得图片宽度和高度的类(无组件)        Dim I, Str
 17ASP中取得图片宽度和高度的类(无组件)        For I=1 To LenB(Bin)
 18ASP中取得图片宽度和高度的类(无组件)            clow=MidB(Bin,I,1)
 19ASP中取得图片宽度和高度的类(无组件)            If ASCB(clow)<128 Then
 20ASP中取得图片宽度和高度的类(无组件)                Str = Str & Chr(ASCB(clow))
 21ASP中取得图片宽度和高度的类(无组件)            Else
 22ASP中取得图片宽度和高度的类(无组件)                I=I+1
 23ASP中取得图片宽度和高度的类(无组件)                If I <= LenB(Bin) Then Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow))
 24ASP中取得图片宽度和高度的类(无组件)            End If
 25ASP中取得图片宽度和高度的类(无组件)        Next
 26ASP中取得图片宽度和高度的类(无组件)        Bin2Str = Str
 27ASP中取得图片宽度和高度的类(无组件)    End Function
 28ASP中取得图片宽度和高度的类(无组件)      
 29ASP中取得图片宽度和高度的类(无组件)    Private Function Num2Str(Num,Base,Lens)
 30ASP中取得图片宽度和高度的类(无组件)        Dim Ret
 31ASP中取得图片宽度和高度的类(无组件)        Ret = ""
 32ASP中取得图片宽度和高度的类(无组件)        While(Num>=Base)
 33ASP中取得图片宽度和高度的类(无组件)            Ret = (Num Mod Base) & Ret
 34ASP中取得图片宽度和高度的类(无组件)            Num = (Num - Num Mod Base)/Base
 35ASP中取得图片宽度和高度的类(无组件)        Wend
 36ASP中取得图片宽度和高度的类(无组件)        Num2Str = Right(String(Lens,"0"& Num & Ret,Lens)
 37ASP中取得图片宽度和高度的类(无组件)    End Function
 38ASP中取得图片宽度和高度的类(无组件)      
 39ASP中取得图片宽度和高度的类(无组件)    Private Function Str2Num(Str,Base) 
 40ASP中取得图片宽度和高度的类(无组件)        Dim Ret,I
 41ASP中取得图片宽度和高度的类(无组件)        Ret = 0 
 42ASP中取得图片宽度和高度的类(无组件)        For I=1 To Len(Str) 
 43ASP中取得图片宽度和高度的类(无组件)            Ret = Ret *base + Cint(Mid(Str,I,1)) 
 44ASP中取得图片宽度和高度的类(无组件)        Next 
 45ASP中取得图片宽度和高度的类(无组件)        Str2Num=Ret 
 46ASP中取得图片宽度和高度的类(无组件)    End Function 
 47ASP中取得图片宽度和高度的类(无组件)      
 48ASP中取得图片宽度和高度的类(无组件)    Private Function BinVal(Bin) 
 49ASP中取得图片宽度和高度的类(无组件)        Dim Ret,I
 50ASP中取得图片宽度和高度的类(无组件)        Ret = 0 
 51ASP中取得图片宽度和高度的类(无组件)        For I = LenB(Bin) To 1 Step -1 
 52ASP中取得图片宽度和高度的类(无组件)            Ret = Ret *256 + AscB(MidB(Bin,I,1)) 
 53ASP中取得图片宽度和高度的类(无组件)        Next 
 54ASP中取得图片宽度和高度的类(无组件)        BinVal=Ret 
 55ASP中取得图片宽度和高度的类(无组件)    End Function 
 56ASP中取得图片宽度和高度的类(无组件)      
 57ASP中取得图片宽度和高度的类(无组件)    Private Function BinVal2(Bin) 
 58ASP中取得图片宽度和高度的类(无组件)        Dim Ret,I
 59ASP中取得图片宽度和高度的类(无组件)        Ret = 0 
 60ASP中取得图片宽度和高度的类(无组件)        For I = 1 To LenB(Bin) 
 61ASP中取得图片宽度和高度的类(无组件)            Ret = Ret *256 + AscB(MidB(Bin,I,1)) 
 62ASP中取得图片宽度和高度的类(无组件)        Next 
 63ASP中取得图片宽度和高度的类(无组件)        BinVal2=Ret 
 64ASP中取得图片宽度和高度的类(无组件)    End Function 
 65ASP中取得图片宽度和高度的类(无组件)      
 66ASP中取得图片宽度和高度的类(无组件)    Private Function GetImageSize(filespec)
 67ASP中取得图片宽度和高度的类(无组件)        Dim bFlag
 68ASP中取得图片宽度和高度的类(无组件)        Dim Ret(3
 69ASP中取得图片宽度和高度的类(无组件)        ASO.LoadFromFile(filespec) 
 70ASP中取得图片宽度和高度的类(无组件)        bFlag=ASO.Read(3
 71ASP中取得图片宽度和高度的类(无组件)        Select Case Hex(binVal(bFlag)) 
 72ASP中取得图片宽度和高度的类(无组件)        Case "4E5089"
 73ASP中取得图片宽度和高度的类(无组件)            ASO.Read(15
 74ASP中取得图片宽度和高度的类(无组件)            ret(0)="PNG" 
 75ASP中取得图片宽度和高度的类(无组件)            ret(1)=BinVal2(ASO.Read(2)) 
 76ASP中取得图片宽度和高度的类(无组件)            ASO.Read(2
 77ASP中取得图片宽度和高度的类(无组件)            ret(2)=BinVal2(ASO.Read(2)) 
 78ASP中取得图片宽度和高度的类(无组件)        Case "464947"
 79ASP中取得图片宽度和高度的类(无组件)            ASO.read(3
 80ASP中取得图片宽度和高度的类(无组件)            ret(0)="gif" 
 81ASP中取得图片宽度和高度的类(无组件)            ret(1)=BinVal(ASO.Read(2)) 
 82ASP中取得图片宽度和高度的类(无组件)            ret(2)=BinVal(ASO.Read(2)) 
 83ASP中取得图片宽度和高度的类(无组件)        Case "535746"
 84ASP中取得图片宽度和高度的类(无组件)            ASO.read(5
 85ASP中取得图片宽度和高度的类(无组件)            binData=ASO.Read(1
 86ASP中取得图片宽度和高度的类(无组件)            sConv=Num2Str(ascb(binData),2 ,8
 87ASP中取得图片宽度和高度的类(无组件)            nBits=Str2Num(left(sConv,5),2
 88ASP中取得图片宽度和高度的类(无组件)            sConv=mid(sConv,6
 89ASP中取得图片宽度和高度的类(无组件)            While(len(sConv)<nBits*4
 90ASP中取得图片宽度和高度的类(无组件)                binData=ASO.Read(1
 91ASP中取得图片宽度和高度的类(无组件)                sConv=sConv&Num2Str(AscB(binData),2 ,8
 92ASP中取得图片宽度和高度的类(无组件)            Wend 
 93ASP中取得图片宽度和高度的类(无组件)            ret(0)="SWF" 
 94ASP中取得图片宽度和高度的类(无组件)            ret(1)=Int(Abs(Str2Num(Mid(sConv,1*nBits+1,nBits),2)-Str2Num(Mid(sConv,0*nBits+1,nBits),2))/20
 95ASP中取得图片宽度和高度的类(无组件)            ret(2)=Int(Abs(Str2Num(Mid(sConv,3*nBits+1,nBits),2)-Str2Num(Mid(sConv,2*nBits+1,nBits),2))/20
 96ASP中取得图片宽度和高度的类(无组件)        Case "FFD8FF"
 97ASP中取得图片宽度和高度的类(无组件)            Do  
 98ASP中取得图片宽度和高度的类(无组件)            Do: p1=binVal(ASO.Read(1)): Loop While p1=255 And Not ASO.EOS 
 99ASP中取得图片宽度和高度的类(无组件)            If p1>191 And p1<196 Then Exit Do Else ASO.read(binval2(ASO.Read(2))-2
100ASP中取得图片宽度和高度的类(无组件)            Do:p1=binVal(ASO.Read(1)):Loop While p1<255 And Not ASO.EOS 
101ASP中取得图片宽度和高度的类(无组件)            Loop While True 
102ASP中取得图片宽度和高度的类(无组件)            ASO.Read(3
103ASP中取得图片宽度和高度的类(无组件)            ret(0)="JPG" 
104ASP中取得图片宽度和高度的类(无组件)            ret(2)=binval2(ASO.Read(2)) 
105ASP中取得图片宽度和高度的类(无组件)            ret(1)=binval2(ASO.Read(2)) 
106ASP中取得图片宽度和高度的类(无组件)        Case Else
107ASP中取得图片宽度和高度的类(无组件)            If left(Bin2Str(bFlag),2)="BM" Then 
108ASP中取得图片宽度和高度的类(无组件)                ASO.Read(15
109ASP中取得图片宽度和高度的类(无组件)                ret(0)="BMP" 
110ASP中取得图片宽度和高度的类(无组件)                ret(1)=binval(ASO.Read(4)) 
111ASP中取得图片宽度和高度的类(无组件)                ret(2)=binval(ASO.Read(4)) 
112ASP中取得图片宽度和高度的类(无组件)            Else 
113ASP中取得图片宽度和高度的类(无组件)                    ret(0)="" 
114ASP中取得图片宽度和高度的类(无组件)            End If 
115ASP中取得图片宽度和高度的类(无组件)        End Select 
116ASP中取得图片宽度和高度的类(无组件)        ret(3)="width=""" & ret(1&""" height=""" & ret(2&"""" 
117ASP中取得图片宽度和高度的类(无组件)        getimagesize=ret 
118ASP中取得图片宽度和高度的类(无组件)    End Function 
119ASP中取得图片宽度和高度的类(无组件)      
120ASP中取得图片宽度和高度的类(无组件)    Public Function imgW(IMGPath)
121ASP中取得图片宽度和高度的类(无组件)        Dim FSO,IMGFile,FileExt,Arr
122ASP中取得图片宽度和高度的类(无组件)        Set FSO = Server.CreateObject("Scripting.FileSystemObject"
123ASP中取得图片宽度和高度的类(无组件)        If (FSO.FileExists(IMGPath)) Then 
124ASP中取得图片宽度和高度的类(无组件)            Set IMGFile = FSO.GetFile(IMGPath) 
125ASP中取得图片宽度和高度的类(无组件)            FileExt=FSO.GetExtensionName(IMGPath) 
126ASP中取得图片宽度和高度的类(无组件)            Select Case FileExt 
127ASP中取得图片宽度和高度的类(无组件)                Case "gif","bmp","jpg","png"
128ASP中取得图片宽度和高度的类(无组件)                Arr=GetImageSize(IMGFile.Path) 
129ASP中取得图片宽度和高度的类(无组件)                imgW = Arr(1
130ASP中取得图片宽度和高度的类(无组件)            End Select 
131ASP中取得图片宽度和高度的类(无组件)            Set IMGFile=Nothing 
132ASP中取得图片宽度和高度的类(无组件)        Else
133ASP中取得图片宽度和高度的类(无组件)            imgW = 0
134ASP中取得图片宽度和高度的类(无组件)        End If     
135ASP中取得图片宽度和高度的类(无组件)        Set FSO=Nothing 
136ASP中取得图片宽度和高度的类(无组件)    End Function 
137ASP中取得图片宽度和高度的类(无组件)     
138ASP中取得图片宽度和高度的类(无组件)    Public Function imgH(IMGPath)
139ASP中取得图片宽度和高度的类(无组件)        Dim FSO,IMGFile,FileExt,Arr
140ASP中取得图片宽度和高度的类(无组件)        Set FSO = server.CreateObject("Scripting.FileSystemObject"
141ASP中取得图片宽度和高度的类(无组件)        If (FSO.FileExists(IMGPath)) Then 
142ASP中取得图片宽度和高度的类(无组件)            Set IMGFile = FSO.GetFile(IMGPath) 
143ASP中取得图片宽度和高度的类(无组件)            FileExt=FSO.GetExtensionName(IMGPath) 
144ASP中取得图片宽度和高度的类(无组件)            Select Case FileExt 
145ASP中取得图片宽度和高度的类(无组件)                Case "gif","bmp","jpg","png"
146ASP中取得图片宽度和高度的类(无组件)                Arr=getImageSize(IMGFile.Path) 
147ASP中取得图片宽度和高度的类(无组件)                imgH = Arr(2
148ASP中取得图片宽度和高度的类(无组件)            End Select 
149ASP中取得图片宽度和高度的类(无组件)            Set IMGFile=Nothing 
150ASP中取得图片宽度和高度的类(无组件)        Else
151ASP中取得图片宽度和高度的类(无组件)            imgH = 0 
152ASP中取得图片宽度和高度的类(无组件)        End If     
153ASP中取得图片宽度和高度的类(无组件)        Set FSO=Nothing 
154ASP中取得图片宽度和高度的类(无组件)    End Function 
155ASP中取得图片宽度和高度的类(无组件)End Class
156ASP中取得图片宽度和高度的类(无组件)
157ASP中取得图片宽度和高度的类(无组件)IMGPath="Test.jpg"
158ASP中取得图片宽度和高度的类(无组件)
159ASP中取得图片宽度和高度的类(无组件)Set PP = New ImgWHInfo  
160ASP中取得图片宽度和高度的类(无组件)= PP.imgW(Server.Mappath(IMGPath))  
161ASP中取得图片宽度和高度的类(无组件)= PP.imgH(Server.Mappath(IMGPath)) 
162ASP中取得图片宽度和高度的类(无组件)Set pp = Nothing 
163ASP中取得图片宽度和高度的类(无组件) 
164ASP中取得图片宽度和高度的类(无组件)Response.Write("<img src='"&IMGPath&"' border=0><br>宽:"&W&";高:"&H)
165ASP中取得图片宽度和高度的类(无组件)%>

相关文章:

  • 2021-11-04
  • 2021-11-17
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2021-11-13
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
相关资源
相似解决方案