如何使超过屏幕大小的图片自动缩放到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) ">