| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1020 人关注过本帖
标题:【请教】关于压缩图片长宽显示的问题
只看楼主 加入收藏
enjoy535
Rank: 1
等 级:新手上路
帖 子:114
专家分:3
注 册:2007-1-16
结帖率:40%
收藏
 问题点数:0 回复次数:2 
【请教】关于压缩图片长宽显示的问题
问题是这样的,我用ASP做了一个简单的相册浏览功能,没有生成压缩图片的模块,我直接将上传的相片保存在服务器文件夹中,然后引用其地址显示在相册中,在相册浏览时,对一些图片的长宽肯定要缩小,以下是我直接通过<img>属性设定其长宽限制:

<img class="photo" src="<%= rs_list("type_img") %>"  onLoad="javascript:if(this.width>200 && this.width>this.height){this.width=200;}if(this.height>200 && this.width<this.height){this.height=200;}" >
(即将图片的长宽限制在200x200以内)

以上代码,似乎没有什么漏洞,但就是有时运行有效,有时无效(直接显示成了图片的原始大小,屏幕都快撑爆了...),很是不解,请高手赐教。
谢谢!
搜索更多相关主题的帖子: 压缩 
2009-10-18 11:46
aspic
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:51
帖 子:2258
专家分:8050
注 册:2008-2-18
收藏
得分:0 
程序代码:
<script> 
//图片按比例缩放 
var flag=false; 
function DrawImage(ImgD,iwidth,iheight){ 
    //参数(图片,允许的宽度,允许的高度) 
    var image=new Image(); 
    image.src=ImgD.src; 
    if(image.width>0 && image.height>0){ 
    flag=true; 
    if(image.width/image.height>= iwidth/iheight){ 
        if(image.width>iwidth){  
        ImgD.width=iwidth; 
        ImgD.height=(image.height*iwidth)/image.width; 
        }else{ 
        ImgD.width=image.width;  
        ImgD.height=image.height; 
        } 
        ImgD.alt=image.width+"×"+image.height; 
        } 
    else{ 
        if(image.height>iheight){  
        ImgD.height=iheight; 
        ImgD.width=(image.width*iheight)/image.height;         
        }else{ 
        ImgD.width=image.width;  
        ImgD.height=image.height; 
        } 
        ImgD.alt=image.width+"×"+image.height; 
        } 
    } 
} 
</script> 
 
调用方法: 
<img src="图片名称" onload="DrawImage(this,最大图片宽度,最大图片高度)" border="0"> 
你的代码 在图片比较大的情况下容易出问题
上面的代码多了个预加载
2009-10-18 15:11
enjoy535
Rank: 1
等 级:新手上路
帖 子:114
专家分:3
注 册:2007-1-16
收藏
得分:0 
好东东啊,比我编的好多了,谢谢斑竹!

2009-10-18 16:08
快速回复:【请教】关于压缩图片长宽显示的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.100266 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved