大图处理,图片丢失

大图按比例缩小不失真,及图片路径正确但图片丢失,不存在,显示默认图片

html代码

<script src="/js/common/globlefont.js"></script>

<div style="width:75px;height:75px;">
<img src="abc.jpg" id="Imgs"   οnerrοr="onFind('cde.jpg')">
</div>

js代码
<script>
$('[id=Imgs]').each(function(){
resizepic(element,75,75)
});
</script>
 

说明:globlefont.js
function resizepic(thispic, objwidth, objheight, options) {
      var osize = getImageOrgSize(thispic);
      var dsize = getSystemDefaultSize();
//      如果没有取到图片的真是尺寸,说明图片没有加载完成,延迟500毫秒后再次执行 resizepic
      if (osize.width == null || osize.width == dsize.width) {
            enhanceTimeout(200, resizepic, thispic, objwidth, objheight, options);
            thispic.height = dsize.width;
            thispic.width = dsize.height;
            return;
      }
      var orgw = osize.width;
      var orgh = osize.height;
      var nw, nh;
      if (orgw / orgh > objwidth / objheight) {
            nw = objwidth;
            nh = objheight * (orgh / orgw) / (objheight / objwidth);
            $(thispic).css("margin-top", ((objheight - nh) / 2));
//            $(thispic).css("padding-top", ((objheight - nh) / 2));
            if (options) {
                  $(options.target).removeClass(options.vclass);
                  $(options.target).addClass(options.hclass);
            }
      } else {
            nh = objheight;
            nw = objwidth * (orgw / orgh) / (objwidth / objheight);
         $(thispic).css("margin-top", 0);
//            $(thispic).css("padding-top", 0);
            if(nw<objwidth){
            $(thispic).css("margin-left", ((objwidth - nw) / 2));
//             $(thispic).css("padding-left", ((objwidth - nw) / 2));
            }
            if (options) {
                  $(options.target).removeClass(options.hclass);
                  $(options.target).addClass(options.vclass);
            }
      }
      thispic.height = nh;
      thispic.width = nw;
}


function onFind(images){
var img=event.srcElement;
img.src=images;
// img.src="/images/pic/noImage.png";
img.οnerrοr=null; //控制不要一直跳动
}
//取图片的真实尺寸
function getImageOrgSize(inputimg) {
      var img = document.createElement('img');
      img.src = inputimg.src;
      img.style.position = 'absolute';
      img.style.visibility = 'hidden';
      img.style.left = '-9999px';
      img.style.top = '-9999px';
      document.body.appendChild(img);
      var size = {
            'width': $(img).width(),
            'height': $(img).height()
      };
      $(img).remove();
      img = null;
      return size;
}

//取浏览器图片对象的缺省尺寸
function getSystemDefaultSize() {
      var img = document.createElement('img');
      img.src = "";
      img.style.position = 'absolute';
      img.style.visibility = 'hidden';
      img.style.left = '-9999px';
      img.style.top = '-9999px';
      document.body.appendChild(img);
      var size = {
            'width': $(img).width(),
            'height': $(img).height()
      };
      $(img).remove();
      img = null;
      return size;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值