拡大縮小用描画関数
Posted: 2010年4月16日(金) 10:00
拡大縮小用描画関数の描画関数を作っております。
オブジェクトが消える用に使う予定でオブジェクトの中心を原点として拡大縮小するようにしたいのですが
縮小をしてしまうと右上?に消えてしまいます。
中心にするということは出来ないのでしょうか?
オブジェクトが消える用に使う予定でオブジェクトの中心を原点として拡大縮小するようにしたいのですが
縮小をしてしまうと右上?に消えてしまいます。
中心にするということは出来ないのでしょうか?
//元画像
■■■
■■■
■■■
//現在の処理
■□□
□□□
□□□
//こんな感じにしたいです
□□□
□■□
□□□
わかりにくくてすみません。
void DrawAlphaScale(int x,int y,int GrHandle,int Alpha,float Sx,float Sy){
// 透明度
int Air = Alpha;
if(Air <= 0) Air = 0;
else if(Air >= 255) Air = 255;
// 読みこんだグラフィックのサイズを得る
int SizeX,SizeY;
GetGraphSize( GrHandle , &SizeX , &SizeY );
// 描画ブレンドモードをαブレンドにする
SetDrawBlendMode(DX_BLENDMODE_ALPHA,Air);
// グラフィックの描画
DrawExtendGraph( x-SizeX/2 , y-SizeY/2 , x + int(SizeX*Sx)-SizeX/2 , y + int(SizeY*Sy)-SizeY/2 , GrHandle , TRUE ) ;
// 描画ブレンドモードをノーブレンドにする
SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 );
}