码迷,mamicode.com
首页 > 其他好文 > 详细

图片相关

时间:2018-03-26 23:41:22      阅读:319      评论:0      收藏:0      [点我收藏+]

标签:rip   dimens   load   html   属性   图片   兼容   fun   src   

获取图片的原始尺寸

  1. 老旧浏览器
function getNaturalSize(img) {
    var image = new Image();
    var naturalSize = {};
    image.src = img.src;
    naturalSize.width = image.width;
    naturalSize.height = image.height;
    return naturalSize
}

var img = document.getElementsByTagName(‘img‘)[0]
getNaturalSize(img); // 返回原始尺寸

分析: 新建一个 image 对象,将当前图片的 src 赋值给 image.src, 此时 image 会发起网络请求从网络下载该图片。此时 image 的宽高就是所求图片的原始尺寸。

  1. html5:

htlm 5 提供了一个直接获取图片原始宽高的 API —— naturalWidth / naturalHeight:

function getNaturalSize(img) {
    var naturalSize = {};
    naturalSize.width = img.naturalWidth;
    naturalSize.height = img.naturalHeight;
    return naturalSize;
}

var img = document.getElementsByTagName(‘img‘)[0]
getNaturalSize(img); // 返回原始尺寸

兼容 ie 6/7/8 和现代浏览器的写法:

function getNaturalSize(img, callback) {
  var naturalSize = {};
  if (img.naturalWidth) {
      naturalSize.width = img.naturalWidth;
      naturalSize.height = img.naturalHeight;
      callback(naturalSize);
  } else {
      var image = new Image();
        image.onload = function () {
            naturalSize.width = image.width;
            naturalSize.height = image.height;
            callback(naturalSize);
        }
        image.src = img.src;
    }
}

var img = document.getElementsByTagName(‘img‘)[0]

getNaturalSize(img, function (dimensions) {
    // 图片处理代码
});

判断图片是否加载完成

  1. onload 事件
  2. onreadyStatechange 事件
  3. complate 属性

图片相关

标签:rip   dimens   load   html   属性   图片   兼容   fun   src   

原文地址:https://www.cnblogs.com/TravellingKite/p/8654428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!