canvasのサイズって恐ろしい子。

最近、なんにでもリーベリンのガーリックソースをかけて食べています。

 

で、前回から引き続きcanvasについて。

 

まず、結果から。

 

canvas 要素は、座標空間のサイズをコントロールする2つの属性を持ちます: width と height です。これらの属性は、指定するとき、妥当な非負整数でなければいけません。それらの数値を取得するために、非負整数パース規則を使わなければいけません。属性が指定されなかった、または、その値をパースしたらエラーになったら、代わりにデフォルト値を使わなければいけません。width 属性のデフォルトは 300 で、height 属性のデフォルトは 150 です。

 

という様に、canvasにはデフォルトサイズが設定されています。 

 

なんでこんな話がでるかというと。

画像をdrawImageしたからといって、よしなにサイズを合わせてくれるわけでなかったので、めんどうだなぁと。

 だので

canvas.width = image.width;
canvas.height = image.height;

drawImageする前にこんな風にした。