CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

怎么样获得图片的值!---大小和规格

楼主kelly_1127(小狐狸如如)2004-12-04 10:55:23 在 Web 开发 / ASP 提问

怎么样获得图片的值!---大小和规格  
   
  如:  
        03025.jpg  
        大小:102   KB  
        规格:122   *   60  
         
   
  用代码怎么样得到   它们的值! 问题点数:20、回复次数:11Top

1 楼kelly_1127(小狐狸如如)回复于 2004-12-04 11:05:11 得分 0

帮我啊!Top

2 楼holoon(大家好才是真的好)回复于 2004-12-04 11:28:20 得分 0

Width:<span   id="w"></span><br>  
  Height:<span   id="h"></span>   <br>  
  <img   id="myimg"   onload="w.innerText=this.width;h.innerText=this.height">    
  <input   type=file   name="imgbrowser"   style="display:none">  
  <input   name=path   >  
  <input   type=button   value="Browser"   onclick="img()">  
  <script>  
  function   img()   {  
  imgbrowser.click()  
  path.value=imgbrowser.value  
  myimg.src=path.value  
  }  
   
  </script>  
  Top

3 楼daknis(杰瑞)回复于 2004-12-04 14:27:37 得分 0

不知道Top

4 楼ronakitty(毓苫)回复于 2004-12-04 15:34:32 得分 20

<%      
  imgpath="images/office.gif"  
   
  set     pp=new     imgInfo      
  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  
   
   
  Class     imgInfo      
  dim     aso      
  Private     Sub     Class_Initialize      
        set     aso=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      
        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      
        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      
        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     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  
    while     p1=255     and     not     aso.EOS        
            p1=binVal(aso.Read(1))  
  wend          
                if     p1<191     or     p1>196     then     aso.read(binval2(aso.Read(2))-2)  
        while     p1<255     and     not     aso.EOS      
                dp1=binVal(aso.Read(1))  
        wend          
            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(pic_path)      
            Set     fso1     =     server.CreateObject("Scripting.FileSystemObject")      
            If   (fso1.FileExists(pic_path))   Then    
        Set     f1     =     fso1.GetFile(pic_path)      
        ext=fso1.GetExtensionName(pic_path)      
        select     case     ext      
          case     "gif","bmp","jpg","png":      
            arr=getImageSize(f1.path)      
            imgW   =   arr(1)      
        end     select      
        Set     f1=nothing    
      else  
              imgW   =   0  
      End   if        
            Set     fso1=nothing      
  End     Function      
   
  Public   Function     imgH(pic_path)      
            Set     fso1     =     server.CreateObject("Scripting.FileSystemObject")    
      If   (fso1.FileExists(pic_path))   Then    
        Set     f1     =     fso1.GetFile(pic_path)      
        ext=fso1.GetExtensionName(pic_path)      
        select     case     ext      
          case     "gif","bmp","jpg","png":      
            arr=getImageSize(f1.path)      
            imgH   =   arr(2)      
        end     select      
        Set     f1=nothing      
      else  
        imgH   =   0    
      End   if      
            Set     fso1=nothing      
  End     Function      
  End     Class  
   
  %>  
   
  不过有点bug,后缀为jpg的图片读不出尺寸Top

5 楼lingyun2111(凌云)回复于 2004-12-04 16:44:01 得分 0

学习^_^Top

6 楼kelly_1127(小狐狸如如)回复于 2004-12-09 13:49:56 得分 0

还有哪个?Top

7 楼hhjjhjhj(大头)(http://office.9zp.com)回复于 2004-12-09 13:54:41 得分 0

http://community.csdn.net/Expert/topic/3276/3276922.xml?temp=.7761499Top

8 楼kelly_1127(小狐狸如如)回复于 2004-12-09 13:59:43 得分 0

怎么用啊!Top

9 楼nik_Amis(...)回复于 2004-12-09 14:48:27 得分 0

upTop

10 楼TSD(智之选,商欲达--智商购物系统zhishop.com)回复于 2004-12-09 14:55:27 得分 0

用JS读出尺寸,用FSO读出大小不就可以了Top

11 楼superfishmanweb(我也是千百个不愿意呀)回复于 2004-12-09 19:13:53 得分 0

先记下Top

相关问题

  • 图片大小
  • 获取图片大小
  • ram值大小
  • 如何读取gif图片的大小?
  • 如何改变图片的大小?
  • 如何判断图片大小?
  • 关于获取图片大小问题?
  • 怎么样修改图片的大小?
  • Access存入图片大小问题
  • HTML中设置图片大小~~~~~~~~~

关键词

  • aso
  • 规格
  • 值
  • 大小
  • 图片
  • sub
  • bin
  • private

得分解答快速导航

  • 帖主:kelly_1127
  • ronakitty

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo