高分求助,有关图片缩小算法带来的问题
Javascript代码如下:
function DownImage(ImgD,MaxWidth,MaxHeight,alignX,alignY)
{
alignX=alignX||1;
alignY=alignY||1;
var image=new Image();
image.src=ImgD.src;
if(image.width> 0 && image.height> 0)
{
var rate = (MaxWidth/image.width < MaxHeight/image.height)?MaxWidth/image.width:MaxHeight/image.height;
var wid=0;
var hid=0;
if(rate <= 1)
{
wid=ImgD.width=image.width*rate;
hid=ImgD.height=image.height*rate;
}
else
{
wid=ImgD.width=image.width;
hid=ImgD.height=image.height;
}
if(alignX==1)
{
var ii=(MaxWidth-wid)/2;
ImgD.style.marginLeft=ImgD.style.marginRight=ii+ "px ";
}
if(alignY==1)
{
var ii=(MaxHeight-hid)/2;
ImgD.style.marginTop=ImgD.style.marginBottom=ii+ "px ";
}
}
}
画面代码:
<img src= "test.jpg " onload= "DownImage(this,500,375,-1,1) " />
为什么当画面Load的时候,现把图片按原来尺寸显示后,然后才缩小?
这样有时候出现问题:图片按照原来尺寸显示,不缩小了,需要刷新一下页面才显示出来?
有什么方法让图片怎么也超不过500*375这个尺寸?
让用户感觉好一些?
谢谢
------解决方案-------------------- <div style= "width:100px;height:100px; "> <img style= "wdith:100%; height:100%; overflow:hidden "> </div>
------解决方案-------------------- <html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<title> JK:支持民族工业,尽量少买X货 </title>
<script>
function setMaxHeight(imgObj,maxHeight){
if(imgObj.offsetHeight> maxHeight) {
imgObj.height=maxHeight;
imgObj.removeAttribute( 'width ');
}
}
</script>
</head>
<body>
<div style= "font-size:10pt; ">
注1:设定图片的最大宽度或高度,同时保证图片比例。 <br/>
<br/>
注:本页面仅在IE6/FireFox1.5下测试过。其它浏览器或其它版本未经测试。 <br/>
注-----:JK: <a href= "mailTo:jk_10000@yahoo.com.cn?subject=About IMG "> JK_10000@yahoo.com.cn </a> <br/>
<hr/>
</div>
<IMG id= "big_img2 "
src= "20060925132517e9cb7.gif " width= "200 " onload= "setMaxHeight(th