Canvas座標で使われる値

端末画面のドット数は端末機種によって様々だが、AppInventorのアプリがCanvas座標で使う値は、画面の横幅はどんな端末でも320で、高さはそれに合わせて縮小した値が使われる。HT-O3Aなど画面の横幅が320ドットの端末では、Canvasで指定する値は実際の画面のドット位置と一致するが、Desireなど解像度の高い端末では描画されるときはそれなりに変換された値になる。これよって、どんな機種の画面でも同じアブリでは、だいたい同じように描画される。


GDDフォン(HT-03A) の Canvas.Width, Canvas.Height を表示してみた図。画面全体の大きさは幅320高さ480だが、Canvasの高さはタイトルバーの50ドットを除いた430ドットとなっている。幅が320なので、実際の値とApp Invendor のアプリから見た値は同じものとなる。


こちらは同じアプリでDesire上で描画されたもの。Desireの画面は幅480高さ800、タイトルバーの高さが76ドットなのでCanvasの有効高さは残り724ドットとなる。実際の幅480ドットが320に縮小するので、この比率で724を縮小した値483が、App Invendor のアプリから見たCanvasの高さとなる。



ImageSpriteに貼り付けられたTシャツ型のこの画像は、実際には横80ドットである。このまま描画するとDesireでは見かけが半分くらいになってしまうはずだが、座標の変換ルールは画像の大きさにも適用されるので、両方の端末で同じような見かけの大きさで描画されている。

DesireとHT-03Aで縦横比率が違うが、Canvasのバックグラウンド画像は目いっぱい引き伸ばされて描画されるので、アスペクト比が微妙に違ってくる。