DXライブラリには画像を扇形を描画するDrawCircleGaugeという隠し関数があるようなのですが、扇形の半径の部分がギザギザしてしまいます。
そこでアンチエイリアスを掛けてこの関数を実行したいのですが方法はあるのでしょうか?
DrawCircleGaugeAAという関数は存在しないようでした。
アンチエイリアス付きでDrawCircleGaugeを実行させる方法
Re: アンチエイリアス付きでDrawCircleGaugeを実行させる方法
DrawCircleGaugeを使ってみました。C++Bulder10.2(BCC5.5後継)+DXライブラリ
g1.cpp
bcc55w.bat
実行結果
http://www2.koyoen.birdview.co.jp/~abcxyz/x0414.png
扇形から円をえがきます。
DrawCircle と異なり描画する円の画像を用意するので元の画像がアンチエイリアス加工されているひつようがありますね(^^;
g1.cpp
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
//ウィンドウモード変更と初期化と裏画面設定
ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen( DX_SCREEN_BACK );
int i = 0;
int Handle; // 画像格納用ハンドル
Handle = LoadGraph( "Test.png" ); // 画像のロード
// while( 裏画面を表画面に反映, メッセージ処理, 画面クリア )
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
// 円グラフ的な描画を行う( GrHandle の画像の上下左右の端は透過色にしておく必要があります )
// int DrawCircleGauge( int CenterX, int CenterY, double Percent, int GrHandle, double StartPercent = 0.0 ) ;
// Percent で描画する円の終点角度を%で指定します( 0.0 = 0度 50.0 = 180度 100.0 = 360度 )
// 0度の角度は、時計の12時の位置で、指定できる%の範囲は -100.0 ~ 200.0 です
DrawCircleGauge( 200, 200, i, Handle, 0);
if( i < 101 ) ++i ; // iを増やす
}
DxLib_End(); // DXライブラリ終了処理
return 0;
}
http://www2.koyoen.birdview.co.jp/~abcxyz/x0414.png
扇形から円をえがきます。
DrawCircle と異なり描画する円の画像を用意するので元の画像がアンチエイリアス加工されているひつようがありますね(^^;