「Windows API/図形の描画」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
編集の要約なし
 
 
== 無い機能 ==
=== 数学的な曲線グラフ ===
さて、Win32APIに無さそうな機能として(※ あったら本文を訂正してください)、数学の関数の、二次関数や三次関数のグラフ、あるいは三角関数や指数関数などのグラフなどの曲線は、特に用意はされてないようなので、SetPixel()などで描くことになるだろう。
 
 
 
さて、SetPixel で書いた場合、計算のケタ落ちなどの問題からか、点が飛び飛びになるような場合がある。また、SetPixel によるグラフ描画は、計算回数も多いので、用途によっては不適切である。
== 無い機能 ==
 
もし、図形が飛び飛びになってしまうと、グラフに沿って塗りつぶしをしたい場合、飛び飛びだと塗りつぶしの境界枠にできない。
 
なので、用途によっては SetPixel ではなく、近似的に LineTo 命令などを使って描画する例も、ネット上では、よく見かける。
 
得られる図形の大まかな形状があらかじめ分かっているなら、LineTo() 命令などで描画するのがよいだろう。
 
 
=== 画面クリアの専用の命令は無い ===
Windows32API には、画面を初期状態に戻すようなクリア機能の専用の関数は、無いようです。(※ 参考文献:林晴彦『明快入門 visual C++ 2010』、ソフトバンククリエイティブ(出版社)、2011年3月8日 初版 第1刷、179ページ。 )
 
なので、C言語のバイナリ書き込み命令などを利用して、自分でビットマップ形式ファイルへの画像エンコーダーを自作することになる。このため、BITMAP構造体の仕様などを把握しておく必要がある。
 
 
 
== 関数的な処理の活用 ==
22,778

回編集

案内メニュー