Windowsのグラフィックス表示の仕組みについて説明します。
グラフィックスの表示にはGDI(Graphic Device Interface)を使用します。
GDIはグラフィカルオブジェクトの表示を行うためのWindowsの規格になります。
先にも述べましたが、GDIにより機種や装置による差異を吸収してくれます。
グラフィックスを表示する先として、デバイスコンテキストを指定します。
デバイスコンテキストは、いわば画用紙です。画用紙に絵を描くように、ペンを選び、色を選んで、色々な図形を描いていきます。
画用紙(デバイスコンテキスト)はディスプレイ用、プリンタ用など出力デバイスの数だけあります。ディスプレイ用画用紙に絵を描けば、ディスプレイに表示され、プリンタ用画用紙に絵を描けばプリンタに出力されます。画用紙の種類が違っても、絵の描き方は同じです。ディスプレイもプリンタも、同じ手順で図形を描くことができます。
では、私たちは今からウィン君(Win32API)に、線を引いてもらいましょう。
ウィン君はこの画用紙に、ペン、ブラシ、フォントなどで絵を描いてくれます。でも、何から何まで指示してあげないと、線を引いてくれません。
普通の人に線を引いてもらう場合、たとえば、画用紙に赤い太い線を引いてください。とお願いすれば、もし赤い太いペンがなければ、買ってきて、線を引いてくれるでしょう。しかしウィン君はあまり気が利きません。プログラマが何から何まで指示してあげましょう。
ウィン君は同じ種類のオブジェクトは1つしか持てません。つまり、太いペンと、細いペンを同時に持つことは出来ません(別の種類のオブジェクトであれば同時に持つことができます。たとえば太いペンと、赤いブラシを持つことは出来ます) 。
太いペンで太い線を引いた後は、細いペンに持ち替えて、細い線を描きます。
ウィン君が線を引く手順は次の通り。
どの画用紙に書くのか決める。(画面に書くのか、プリンタに出力するのか等)
ペンの太さや色を指示し、ペンを作ってもらいます。
ペンを持ちます。
ペン先を画用紙のある場所に移動します。
そこからペン先をおろし、スーッと線を引きます。
ペンが要らなくなったら捨てます。(必要になったらまた作ればいいのです)
イメージわきましたか?ウィン君に線を引いてもらうには、上記のようにお願いしなければなりません。
では次にソースを見ていきましょう。
今日はここまでです。