六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP中取得圖片寬度與高度的類(無組件)

[摘要]<%Class ImgWHInfo '獲取圖片寬度和高度的類,支持JPG,GIF,PNG,BMP Dim ASO Private Sub Class_Initialize Set ASO=Server.CreateObject("ADODB.Str...

<%
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)
                binData=ASO.Read(1)
                sConv=sConv&Num2Str(AscB(binData),2 ,8)
            Wend
            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)
        Case "FFD8FF":
            Do 
            Do: p1=binVal(ASO.Read(1)): Loop While p1=255 And Not ASO.EOS
            If p1>191 And p1<196 Then Exit Do Else ASO.read(binval2(ASO.Read(2))-2)
            Do:p1=binVal(ASO.Read(1)):Loop While p1<255 And Not ASO.EOS
            Loop While True
            ASO.Read(3)
            ret(0)="JPG"
            ret(2)=binval2(ASO.Read(2))
            ret(1)=binval2(ASO.Read(2))
        Case Else:
            If left(Bin2Str(bFlag),2)="BM" Then
                ASO.Read(15)
                ret(0)="BMP"
                ret(1)=binval(ASO.Read(4))
                ret(2)=binval(ASO.Read(4))
            Else
                    ret(0)=""
            End If
        End Select
        ret(3)="width=""" & ret(1) &""" height=""" & ret(2) &""""
        getimagesize=ret
    End Function
     
    Public Function imgW(IMGPath)
        Dim FSO,IMGFile,FileExt,Arr
        Set FSO = Server.CreateObject("Scripting.FileSystemObject")
        If (FSO.FileExists(IMGPath)) Then
            Set IMGFile = FSO.GetFile(IMGPath)
            FileExt=FSO.GetExtensionName(IMGPath)
            Select Case FileExt
                Case "gif","bmp","jpg","png":
                Arr=GetImageSize(IMGFile.Path)
                imgW = Arr(1)
            End Select
            Set IMGFile=Nothing
        Else
            imgW = 0
        End If    
        Set FSO=Nothing
    End Function
    
    Public Function imgH(IMGPath)
        Dim FSO,IMGFile,FileExt,Arr
        Set FSO = server.CreateObject("Scripting.FileSystemObject")
        If (FSO.FileExists(IMGPath)) Then
            Set IMGFile = FSO.GetFile(IMGPath)
            FileExt=FSO.GetExtensionName(IMGPath)
            Select Case FileExt
                Case "gif","bmp","jpg","png":
                Arr=getImageSize(IMGFile.Path)
                imgH = Arr(2)
            End Select
            Set IMGFile=Nothing
        Else
            imgH = 0
        End If    
        Set FSO=Nothing
    End Function
End Class

IMGPath="Test.jpg"

Set PP = New ImgWHInfo 
W = PP.imgW(Server.Mappath(IMGPath)) 
H = PP.imgH(Server.Mappath(IMGPath))
Set pp = Nothing
 
Response.Write("<img src='"&IMGPath&"' border=0><br>寬:"&W&";高:"&H)
%>




主站蜘蛛池模板: 欧美一区二区三区激情啪啪 | 在线观看亚洲国产 | 亚洲 日本 欧美 日韩精品 | 午夜国产精品福利在线观看 | 日本免费在线观看视频 | 日本高清视频色wwwwww色 | 色色视频网 | 色一色在线观看视频网站 | 婷婷综合色伊人阁 | 中文字幕欧美日韩久久 | 午夜亚洲国产精品福利 | 日韩婷婷 | 五月婷婷丁香综合 | 日皮毛片| 日本天堂在线播放 | 情不自禁完整版在线观看免费 | 日日夜夜网站 | 人人狠狠综合久久亚洲88 | 在线观看h视频播放高清 | 人人狠| 青青草原1769久久免费播放 | 日本成人在线网站 | 色噜噜色偷偷男人的天堂 | 天天摸天天做天天爽 | 日日摸日日碰 | 欧美视频一二三区 | 日韩成人黄色片 | 日韩大片免费看 | 亚洲乱码在线视频 | 欧美午夜视频在线观看 | 天天成人综合网 | 日本字幕 | 人人干在线观看 | 青青青视频在线播放 | 日本不卡高清免费 | 四虎在线免费 | 欧美五月婷婷 | 色综合久久久久久久 | 日韩中文一区宇都宫紫苑 | 中文字幕一区二区三区四区五区人 | 有码中文字幕在线观看 |