第13回 2次元グラフィックス(1)

ファーストイヤー・セミナーⅡ
第13回 2次元グラフィックス(1)
2次元グラフィックス


Ultra-Cでは、これまで利用してきた「標準入出力」以外
に「グラフィックス画面」があり、図形などを表示できる
C言語のグラフィックスには細かな規定がなく、これから
学ぶ内容が他の環境、システムでは利用できないことも
多いので注意すること
とにかくやってみよう

以下のようなプログラムを作成し、実行してください
←いつもと異なるので注意
直線を描く関数(Line)


Line(x1, y1, x2, y2) は点(x1, y1)から点(x2, y2)まで直
線を引く関数である
先ほどの Line(10, 10, 50, 50) なら点(10, 10)から点(50,
50)まで直線が引かれる
グラフィックの位置


グラフィック・ウインドウ上の位置は座標(x, y)で表される
通常のグラフなどの軸と異なり、グラフィックでは左上が
(0, 0)となり、x 座標は右へ、y 座標は下へ行くほど大きく
なる
(0, 0)
x軸
(10, 10)
(50, 50)
y軸
直線を描く関数(2)

続いて、直線の色や形式、太さなどを変更してみよう
直線の設定

直線を描く場合には、
(1)直線の色を指定する
SetLineColor( 色指定 );
(2)直線の形式・太さを指定する
SetLineStyle( 形式,太さ );
(3)線を描く
Line (始点のx座標, 始点のy座標, 終点のx座標, 終点のy座標)
とする。先ほどのプログラムを確認してみよう
色指定


色指定は以下のようになる。
色の指定は、実際に描画する部分の直前におこなうこと。
直線の形式の指定



直線の形式は以下のように指定する
直線の太さは整数値で表す(ただし太さが反映されるのは
PS_SOLIDのみ)
数字が大きいほど太い実線になる
試してみよう

色指定、形式指定を参考にしながら色々な線を引いてみよう
(例)
背景色の変更

背景色を変更したい場合は
SetBkColor( 色指定 );
ClearScreen; ←画面をクリアして背景色で塗りつぶす
とする。
グラフィックスの注意点


図形を描く場合は、プログラムの順序に従って上書きされていく
色の変更、描画の順序を考えてプログラムを作成すること
例)線を描いたあとで背景色を上書きしているので、
線が塗りつぶされて描画されない
点を描く関数(SetPixel)


点を描くには SetPixel(x座標, y座標, 色指定) とする
SetPixel, Line などの関数で座標を指定する場合、変数を用
いることもできる
練習:三角形を描く



Line関数を使って三角形を描いてみよう
ただし三角形の頂点の座標はそれぞれ
(320, 50)、(200, 250)、(440, 250)
とする
線の色や種類、背景色は自由に変えてよい
プログラム例
第13回のレポート



以下のプログラムを作成し、メールで提出してください
宛先:
星型を描画するプログラム
– どのような星型でもよい
– 色や線の形式も自由に選んでよい