DrawModiGraph関数を用いて画像を回転させたいのですが

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
taketoshi
記事: 222
登録日時: 14年前
住所: 日本国

DrawModiGraph関数を用いて画像を回転させたいのですが

#1

投稿記事 by taketoshi » 13年前

表題の通り、DrawModiGraph関数を用いて、画像の4点を指定しクルクル回転させたいのですが方法が解りません。

DrawRotaGraph関数のAngle的な引数が欲しいのですが、
4点を指定してグルグル画像を回すとなると、何か方法はあるのでしょうか?

画像処理に詳しい方、ご教授願います。

taketoshi
記事: 222
登録日時: 14年前
住所: 日本国

Re: DrawModiGraph関数を用いて画像を回転させたいのですが

#2

投稿記事 by taketoshi » 13年前

ネットで回転の公式を調べて、自己解決しました。

コード:


	//画像の回転処理
	X = -(nImageSizeX / 2) * cos( nAngle * 3.14159265358 / 180.0) - -(nImageSizeY / 2) * sin( nAngle * 3.14159265358 / 180.0);
	Y = -(nImageSizeX / 2) * sin( nAngle * 3.14159265358 / 180.0) + -(nImageSizeY / 2) * cos( nAngle * 3.14159265358 / 180.0);
	locate[0][0] = x[0] + X;
	locate[0][1] = y[0] + Y;

	X = (nImageSizeX /2) * cos( nAngle * 3.14159265358 / 180.0) - -(nImageSizeY / 2) * sin( nAngle * 3.14159265358 / 180.0);
	Y = (nImageSizeX / 2) * sin( nAngle * 3.14159265358 / 180.0) + -(nImageSizeY / 2) * cos( nAngle * 3.14159265358 / 180.0);
	locate[1][0] = x[0] + X;
	locate[1][1] = y[0] + Y;

	X = -(nImageSizeX /2) * cos( nAngle * 3.14159265358 / 180.0) - (nImageSizeY / 2) * sin( nAngle * 3.14159265358 / 180.0);
	Y = -(nImageSizeX / 2) * sin( nAngle * 3.14159265358 / 180.0) + (nImageSizeY / 2) * cos( nAngle * 3.14159265358 / 180.0);
	locate[2][0] = x[0] + X;
	locate[2][1] = y[0] + Y;

	X = (nImageSizeX /2) * cos( nAngle * 3.14159265358 / 180.0) - (nImageSizeY / 2) * sin( nAngle * 3.14159265358 / 180.0);
	Y = (nImageSizeX / 2) * sin( nAngle * 3.14159265358 / 180.0) + (nImageSizeY / 2) * cos( nAngle * 3.14159265358 / 180.0);
	locate[3][0] = x[0] + X;
	locate[3][1] = y[0] + Y;


閉鎖

“C言語何でも質問掲示板” へ戻る