ページ 11

画像の一部を徐々に拡大

Posted: 2010年11月01日(月) 13:20
by polpol
画像の一部を徐々に拡大させたくて
DrawExtendGraphという関数を見つけたのですがうまくいきません。
c++
DrawExtendGraph( 100 , 100 , c , c , char1 , TRUE ) ;
というコードで右下に移動しながら拡大していきます。
その場で固定しながら拡大させたいのですがどうすればいいのでしょうか
よろしくお願いします

Re:画像の一部を徐々に拡大

Posted: 2010年11月01日(月) 13:53
by 白い時空
DrawExtendGraph関数では、指定した座標(100,100)が描画する画像の左上になるためそのようになってしまいます。
DrawRotaGraph関数を使えば、指定した座標が描画する画像の中心になるので、その場で拡大できると思います。
試してみてください。

Re:画像の一部を徐々に拡大

Posted: 2010年11月01日(月) 14:06
by Wings
表示する画像に中心座標を与える必要があると思います。

例えば 、座標( 100 , 100 ) に固定して、最初の画像の大きさを ( 100(横) , 200(縦) ) と
するなら、

int centerX , centerY , width , height;

centerX = 100;
centerY = 100;
width = 100 / 2;
height = 200 / 2;

extend++; //拡大する割合
DrawExtendGraph( centerX - width - extend , centerY - height - extend,
centerX + width + extend , centerY + height + extend , char1 , TRUE );

Re:画像の一部を徐々に拡大

Posted: 2010年11月01日(月) 14:26
by polpol
返答ありがとうございます

とりあえず以下のように書いたらうまくいきました
double c;
c++;
DrawRotaGraph( 320 , 240 , c/400 , 0, char1 , TRUE ) ;

解決しました。ありがとうございます。