MAX 7 lcdとピクセルドットの作成1

p.246

さて、ここでは、lcdオブジェクトという、ビットマップ描画(図のように1ビット単位でピクセルを潰して絵を書く)ができるものに、1ピクセル(最小単位の1コマ)のドットを描いていく作業を行う。

まず、ドットをつけるために、{paintoval}という小円を作るメッセージで、大きさを指定する必要がある。

このpaintovalは、left-rightのx座標範囲と、top-bottomのy座標範囲の中にぴったりと入る形で生成される。

アーギュメントの並び順は、{paintoval left top right bottom}となる。

考え方としては、最初にleftとtopが交わる、左上の頂点を決定し、そこからいくつ分右方向、下方向に伸ばしていくかを決定すればよい。※正円にしたい場合は、同じ数値を入力すればよい。

よって、left, top, left+α, top+βの値を入力できるプログラムが必要である。

また、その4つの数値をリストとしてpackオブジェクトでまとめて送信することで、packオブジェクトのインレットに常に変動できる任意の数値が入力できるようにしておきたい。

下図の例では、sizeメッセージを用いて、lcdオブジェクトを200×200ピクセルのサイズにしている。

左と右は同じ結果であるが、それぞれの座標を出力すると、頭の中で計算をしないと行けないので非常に分かりづらい。よって、右側のように、leftとtopの座標を基準としてそこからいくつのピクセル地点で円を作成するかという考え方にする方が分かりやすい。

タグ:

最新記事
アーカイブ
タグから検索