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

ナビゲーションに移動 検索に移動
編集の要約なし
(ExtFloodFill 命令)
編集の要約なし
== 塗りつぶしをしたい場合 ==
=== polygon関数とPOINT配列 ===
Win32 API では、polygon() という命令で、任意の多角形を塗りつぶしできる。
 
 
 
=== 長方形を塗りつぶすには? ===
 
== 長方形を塗りつぶすには? ==
図形を塗りつぶしたい場合には、図形描画命令の直前に、下記のように描画のモードをブラシに設定します。
 
 
 
=== 画面クリア任意専用図形命令は無い塗りつぶし ===
ExtFloodFill 命令で、たとえるならペイントソフトのバケツ塗りのような、線などで囲まれた領域の塗りつぶしをできる。詳しくは外部サイトを参照せよ。
Windows32API には、画面を初期状態に戻すようなクリア機能の専用の関数は、無いようです。(※ 参考文献:林晴彦『明快入門 visual C++ 2010』、ソフトバンククリエイティブ(出版社)、2011年3月8日 初版 第1刷。 )
 
== 無い機能 ==
=== 画面クリアファイル出力専用機能命令は無い ===
Windows32API には、画面を初期状態に戻すようなクリア機能の専用の関数は、無いようです。(※ 参考文献:林晴彦『明快入門 visual C++ 2010』、ソフトバンククリエイティブ(出版社)、2011年3月8日 初版 第1刷、179ページ。 )
 
:※ 参考文献のソフトバンクの本の説明対象は、正確にはMFCプログラミングの場合である。だが、 Win32API専用でも同様であろう。
 
Win32APIで もし画面をクリアしたい場合、さきほどの節で紹介した長方形の描画の機能などを用いて、単にウィンドウ内を塗りつぶせばいい。
 
 
=== 画面のファイル出力の機能は無い ===
Win32APIに無い機能として、画面の画像をビットマップファイルなどに出力する機能は無い。
 
よって、どうしても、そういう機能の(あなたの制作している)アプリへの組み込みが必要なら、自作するか、ネット上で出回ってる無料ライブラリを使用することになる。
 
もし .NET Framework ならば SaveImage メソッドいうのがある。しかし Win32API には、そういうのは無い。
 
Win32APIでも、画面の画像をキャプチャしてメモリなどに蓄える命令( GetShellWindow 命令 )はあるが、しかし、そうやって蓄えた画像情報を外部ファイルに出力して書き込む専用の命令は無い。
 
なので、C言語のバイナリ書き込み命令などを利用して、自分でビットマップ形式ファイルへの画像エンコーダーを自作することになる。このため、BITMAP構造体の仕様などを把握しておく必要がある。
 
 
 
安全のため、作業が終わったら、メモ帳を閉じてから、Visual Stuido 側でセーブ保存すると安全だろう。
 
== 塗りつぶしをしたい場合 ==
ExtFloodFill 命令で、たとえるならペイントソフトのバケツ塗りのような、線などで囲まれた領域の塗りつぶしをできる。詳しくは外部サイトを参照せよ。
 
 
== 無い機能 ==
=== 画面のファイル出力の機能は無い ===
Win32APIに無い機能として、画面の画像をビットマップファイルなどに出力する機能は無い。
 
よって、どうしても、そういう機能の(あなたの制作している)アプリへの組み込みが必要なら、自作するか、ネット上で出回ってる無料ライブラリを使用することになる。
 
もし .NET Framework ならば SaveImage メソッドいうのがある。しかし Win32API には、そういうのは無い。
 
Win32APIでも、画面の画像をキャプチャしてメモリなどに蓄える命令( GetShellWindow 命令 )はあるが、しかし、そうやって蓄えた画像情報を外部ファイルに出力して書き込む専用の命令は無い。
 
なので、C言語のバイナリ書き込み命令などを利用して、自分でビットマップ形式ファイルへの画像エンコーダーを自作することになる。このため、BITMAP構造体の仕様などを把握しておく必要がある。
22,773

回編集

案内メニュー