トップページ > 記事閲覧
扇形やアーチ型の描画
名前:s8079 日時: 2017/05/28 20:03

いつもお世話になっております。 今回は扇形やアーチ型(ドーナツ形状の扇形)を描画したいのですが,どうすればよいか困っております。 多角形の描画を行うDrawPolygon関数や円グラフ的な描画を行うDrawCircleGauge関数を用いれば実現できそうな気がします。 後者の関数に関するスレッド等はいくつか存在しましたが,具体的な使い方が分からない状態です。 簡単なものでよいので扇形とアーチ型を描画するサンプルを示していただけないでしょうか。 面倒だとは思いますが,よろしくお願いします。 現在のうまくいかないDrawCircleGauge関数の使い方は以下のような流れです。 MakeScreen→SetDrawScreen(grhandle)→DrawCircle→DrawCircleGauge→SetDrawScreen(DX_SCREEN_FRONT)→DrawGraph
メンテ

Page: 1 |

Re: 扇形やアーチ型の描画 ( No.1 )
名前:管理人 日時:2017/05/28 20:26

DrawCircleGauge を使用するサンプルプログラムを組んでみましたので、よろしければご覧ください #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { int GrHandle ; double AnglePercent ; // ウインドウモードで起動 ChangeWindowMode( TRUE ) ; // DXライブラリの初期化 if( DxLib_Init() < 0 ) return -1 ; // 画像の読み込み GrHandle = LoadGraph( "TestCircle.png" ) ; SetDrawScreen( DX_SCREEN_BACK ) ; AnglePercent = 0.0 ; while( ProcessMessage() == 0 ) { ClearDrawScreen() ; // 120フレームで一周するように角度%の値を加算する AnglePercent += 100.0 / 120.0 ; // 100% を超えたら 0% に戻す if( AnglePercent >= 100.0 ) { AnglePercent = 0.0 ; } // 画面の中真に円のゲージを描画する DrawCircleGauge( 320, 240, AnglePercent, GrHandle ) ; ScreenFlip() ; } // DXライブラリの後始末 DxLib_End() ; // ソフトの終了 return 0; } 上記のプログラムで使用している TestCircle.png はこちらのものを使用しています https://dxlib.xsrv.jp/file/TestCircle.png > 現在のうまくいかないDrawCircleGauge関数の使い方は以下のような流れです。 > MakeScreen→SetDrawScreen(grhandle)→DrawCircle→DrawCircleGauge→SetDrawScreen(DX_SCREEN_FRONT)→DrawGraph 表画面への描画は負荷が大きいので、最後の部分を変更して MakeScreen→SetDrawScreen(grhandle)→DrawCircle→DrawCircleGauge→SetDrawScreen(DX_SCREEN_BACK)→DrawGraph→ScreenFlip の方が良いです
メンテ
Re: 扇形やアーチ型の描画 ( No.2 )
名前:s8079 (解決) 日時:2017/05/28 22:37

解決しました。 すばやい回答ありがとうございます。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存