javascript で画像サイズの取得に失敗する場合

ALL
スポンサーリンク

javascript である画像のサイズを取得する場合、次のようなコードがよく説明されています。
imgタグで指定されたwidth,height ではなく、画像自体のwidth,heightが取得できますが、これ、取得に失敗することがあります。

var img = new Image();
img.src = "http://xxxxx......";
var w = img.width;
var h = img.height;

この書き方では、画像を新たに読み込みます。
画像の読み込みが完了する前に width,height を取得しようとすると、サイズ0が返りますので、注意が必要です。

画像の読み込み完了を示す completeプロパティが false の場合(img.complete == false だったら)は、onload等によって、画像の読み込み完了後のサイズ取得が必要です。

コメント