画像の寸法の取得に問題があります。ドキュメントに読み込まずに画像の幅と高さを知りたいです。現在、次のようなコードがあります。
function getImageSize (path) {
var image = new Image();
image.name = path;
var d = image.onload = function() {
var w = this.width;
var h = this.height;
return {width : w, height : h};
}();
image.src = path;
return d;
}
その関数を呼び出すと、両方のインデックス (w、h) に undefined を含むオブジェクトが取得されます。括弧を除外してonloadハンドラを呼び出さないようにしました(8行)が、得られるのは関数コードです。
alert(w)
onload ハンドラー本体内で呼び出すと、画像の幅は表示されますが、外側では表示されないことに注意してください。
誰かがその問題を解決する方法を知っていますか? 画像の寸法を取得するにはどうすればよいですか?