var icon1 = new Image();
icon1.src = resource;
var width = icon1.width;
var height = icon1.height;
このコードを反復すると、最初に反復すると幅と高さが0になり、2回目には正しい寸法になります。
var icon1 = new Image();
icon1.src = resource;
var width = icon1.width;
var height = icon1.height;
このコードを反復すると、最初に反復すると幅と高さが0になり、2回目には正しい寸法になります。
確かに十分なコード (および一般的なコンテキスト) を実際に示していませんが、最初は画像が読み込まれず、2 回目は読み込まれたと思います。
onload
イベントを介して、画像が最初に読み込まれたことを確認できます。
var resource = "http://placehold.it/50";
var icon1 = new Image();
var wid1;
var hei1;
icon1.onload = function() {
wid1 = icon1.width;
hei1 = icon1.height;
console.log(wid1);
console.log(hei1);
};
icon1.src = resource;
onload関数を定義する前に、リソースをsrcに割り当ててみてください。
var resource = "http://placehold.it/50";
var icon1 = new Image();
var wid1;
var hei1;
icon1.src = resource;
icon1.onload = function() {
wid1 = icon1.width;
hei1 = icon1.height;
console.log(wid1);
console.log(hei1);
};