javascript - 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>
解决方案
您需要给浏览器时间来加载图像。
图像有一个onload
回调,您可以自行连接。一旦触发,就可以安全地使用 width 和 height 属性。