首页 > 解决方案 > javascript 创建图像并获取其尺寸

问题描述

我想在 javascript 中创建一个图像,然后从一个函数中获取它的尺寸。我总是得到 0 0 或 undefined undefined

let rocketimage=document.createElement('img');
rocketimage.src='rocket.png';
rocketimage.id='rocketimage';
const body=document.getElementsByTagName('body')[0];
body.appendChild(rocketimage);

function getDimensions(id) {
    var element = document.getElementById(id);
    if (element && element.tagName.toLowerCase() == 'img') {
        return {
            width: element.width,
            height: element.height
        };
    }
}

// using the function on the above image:
var dims = getDimensions('rocketimage');
console.log(dims.width);
console.log(dims.height);
<!DOCTYPE html>
<html lang="de" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>rocktetgame</title>
  </head>
  <body>
    <script src="getimagesize.js" charset="utf-8"></script>
  </body>
</html>

标签: javascripthtml

解决方案


您需要给浏览器时间来加载图像。

图像有一个onload回调,您可以自行连接。一旦触发,就可以安全地使用 width 和 height 属性。


推荐阅读