picbox页面是原来显示图片的,程序使用了框架来显示图片,这样当图片放大到超过一个屏幕时,控制放大、缩小的工具条位置是固定不变的。
注意上面的: <img onload="suitImage(this,680,360)" id="objImg" />
你可以在这里自定义图片加载的初始显示尺寸,图片宽最大尺寸,高最大尺寸。
相应的图片自适应宽高js代码:function suitImage(img,w,h)
{
var image=new Image();
image.src=img.src;
var iw=image.width;
var ih=image.height;
var iratio=iw/ih;
if(iw>w)
{
iw=w;
ih=w/iratio;
}
if(ih>h)
{
ih=h;
iw=h*iratio;
}
img.width=iw;
img.height=ih;
}
主要js源代码如下:
var scale=0;
var original=0;
var change=0;
var iratio=0;
var objImg=null;
window.onload=function()
{
objImg= ifm_show_prd.document.getElementById('objImg');
objImg.src=document.getElementById('hid_largepictureurl').value;
//document.getElementById('dvTPUrls').innerHTML=document.getElementById('dvTPUrls1').innerHTML;
}
function doZoomIn()
{
if(original==0)
{
original=objImg.width;
scale=objImg.width;
iratio=objImg.width/objImg.height;
}
if(scale-original>2048) return false;
scale+=15;
change+=15;
if(change>100) {change=0; return false;}
objImg.width=scale;
objImg.height=scale/iratio;
window.setTimeout("doZoomIn()",50);
return true;
}
function doZoomOut()
{
if(original==0)
{
original=objImg.width;
scale=objImg.width;
iratio=objImg.width/objImg.height;
}
if(scale<=100) return false;
scale-=15;
change+=15;
if(change>100) {change=0; return false;}
objImg.width=scale;
objImg.height=scale/iratio;
window.setTimeout("doZoomOut()",50);
return true;
}
function doReset()
{
if(original==0)
{
original=objImg.width;
scale=objImg.width;
iratio=objImg.width/objImg.height;
}
else
{
objImg.width=original;
objImg.height=original/iratio;
scale=original;
}
return true;
}
源代码下载:pic-zoom-tool.rar(57KB)
请稍等,评论加载中...