日期:2014-05-17  浏览次数:20749 次

如何使超过屏幕大小的图片自动缩放到800*600?
上传的图片尺寸不一,我设的最佳分辨率是1024*768,我想让所有宽度超过1000的图片都自动缩放为800*600,或者让图片自动缩放来不会让浏览器出现横向的滚动条,从CSDN上搜到一代码如下:
把这句话放在 <head> 和 </head> 中间

<script   language= "javascript ">
function   RatImg(Img,blw,blh)
{
var   i=Img.width;
var   j=Img.height;  

if   (i> blw)
{
    var   zjbl1=blw/i;
    var   zjbl2=blh/j;
    if   (zjbl1 <zjbl2)
    {
        zjbl=zjbl1;
    }
    else
    {
        zjbl=zjbl2;
    }
    i=i*zjbl;
    j=j*zjbl;
}
else
{
    if   (j> blh)
    {
        zjbl=blh/j;
        j=blh;
        i=i*zjbl;
    }
}

Img.width=i;
Img.height=j;
}
</script>

把这句话放在引用图片的语句中   onload= "RatImg(this,291,231) "

291和231换成你想要的宽度和高度。
不理解这个“把这句话放在引用图片的语句中   onload= "RatImg(this,291,231) "
”是什么意思,我的页面中显示图片的语句是:
<a   href= " <%=Rs( "Imgurl ")%> "   target= "_blank "> <img   src= " <%=Rs( "Imgurl ")%> "   border= "0 "> </a>
我该如何修改来实现?

------解决方案--------------------
我做过类似的程序,不过是VBA的.其实代码都有了,自己研究一下吧.给你个思路.如果图片大小超过你给的最大大小.则先算出你给的最大大小的比例,如800*600就是1.333333~.再计算一下你自己的图片的比例.如果这个数大于1.33333~,就把你图片的宽=800.高=原图高/(原图宽/设定最大宽)
比如你的图是1600*200.计算后的结果是800*100.如果小于1.33333~.就反过来算.

要点:1 先算出图片是细高还是扁长(与你设定的大小来比.)
2 按照比例缩小图片的大小.
------解决方案--------------------
'from dvbbs
<script language= "javascript "> <!--
function imgzoom(img,maxsize){
var a=new Image();
a.src=img.src
if(a.width > maxsize * 4)
{
img.style.width=maxsize;
}
else if(a.width > = maxsize)
{
img.style.width=Math.round(a.width * Math.floor(4 * maxsize / a.width) / 4);
}
return false;
}
//-->
</script>
<img src= "http://cwb03/1.jpg " onload= "return imgzoom(this,800) ">