B11. グラフィックス
目次へ戻る;
前のページ;
次のページ;
解説
コンピュータグラフィックスの利用は、典型的な装置依存のプログラミングです。どのような作図装置を使うかによって、プログラミングの命令語はそれぞれ異なった仕様を持ちます。装置が変わっても、プログラム本体の変更が最小で済むように、標準言語の提案が試みられ、また、その標準言語から実際の装置を制御する言語とを繋ぐ考えが生まれました。これをデバイスドライバと言います。ここに挙げたものは、その標準言語の一例です。元々はFortranのサブルーチン用として利用しましたので、キーワードは英字6文字で表しました。英語のdisplayに関連することを表すため、頭の2字をDPとしました。なお、マイコンBASICではCRTモニタ画面をクリアするときのコマンドに、CLSを使うことがほぼ常識化されています。Plain_Basicではテキスト用とグラフィックス用の二つの子ウインドウを持ちますので、この消去にはCLSとDPERASと、別々の消去コマンドを使いことにしました。
作図の基本概念は、ペンを使って線を描くことと、ペンの種類を変えることで殆どの図形を描くことができます。ユーザレベルで使い易く設計したプログラムは種々ありますが、Plain_Basicは教育用を念頭に置いていますので、最小限のコマンドに制限しました。線の種類の変更、色の選択、文字フォントの選択は、コマンドで指定するのではなく、主にメニューの方で変更するようにしました。
CLS
引き数はありません。テキストウインドウ(RichTextEdit領域)のデータを消去します。グラフィックスウインドウの消去はDPERASです。
DPERAS
引き数はありません。グラフィックスウインドウに作画されている図形を消去します。
DPMOVE x, y
x, y --- 平面ワールド座標系でのペンの位置
グラフィックスウインドウ上に線を引かずに、描き始めのペン位置を設定します。
例:DPMOVE 10.,20.
DPDRAW x, y
x, y --- 平面ワールド座標系での線の終端位置
現在のペン位置から、指定された位置まで、グラフィックスウインドウ上に線を引きます。線の種類は、DPENTX であらかじめ指定します。デフォルトは細い実線です。
例:DPDRAW 12.,15.
DPCIRC x, y, radius
中心位置(x,y)、半径radiusの円を描きます。線の種類は、その前の設定値が使われます。なお、円の内部の塗り潰しは行いません。
例:DPCIRC 0, 0, 50
DPMARK x, y, imark
x, y --- 平面ワールド座標系でマークを描く位置
指定した位置に記号描きます。記号の種類を番号で指定します。寸法はピクセル単位の点です。記号番号と点の図形の対応は、Plain_Basicのバージョンで多少異なります。
例:DPMARK 0,0,3
DPENSZ isize
線の太さを選択します。初期値は1(細線)です。システムの仕様によって、線の太さの選択種は異なります。また、Windowsの関数を間接的に利用していますので、線の太さを変えると、DPENTXによる破線指定が効かなくなって、すべて実線で描くことがあります。
例:DPENSZ 2
DPENTX ipen
線の種類(実線・破線)などを指定します。初期値は実線(1)です。
例:DPENTX 4
DPTEXT x, y, "string"
(x,y)を文字列基線の始端として文字を描きます。文字フォントはメニューで指定します。
例:DPTEXT -100, 100, "test"
DPWIND xcen, ycen, horizontal-size
グラフィックスウインドウ上の座標系を定義します。
xcen, ycen --- 画面の中心をこの座標値にセットする
horizontal size --- 画面に納める横幅。デフォルトは640
グラフィックスウインドウの寸法と縦横寸法比は、マウスによって任意に変化できますが、その中に一杯に接するように作図領域の座標系を設定します。作図領域で考えている縦横縦の寸法比は、使用するスクリーンの寸法比に相似にしておくと納まりがよくなります。デフォルトは3:4の比です。この比の変更はメニューで指定できます。一般に、コンピュータグラフィックスの座標指定はモニタ画面の解像度の値を使うことが多いので、デフォルトの横幅寸法を640にしました。
例:DPWND 0,0,640
次のページ;