Transcript pptファイル
ファーストイヤー・セミナーⅡ
第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回のレポート
以下のプログラムを作成し、メールで提出してください
星型を描画するプログラム
– どのような星型でもよい
– 色や線の形式も自由に選んでよい