トップページ > 過去ログ > 記事閲覧
画像を表示する際、指定座標が中心になるよう表示したいのですが
名前:tm 日時: 2008/01/12 21:23

いつもお世話になります。 質問させていただきたいのですが、今は画像を表示するのに、回転させる必要のないときでもDrawRotaGraphを使うことが多い状態です。 DrawRotaGraphを使う理由としては、DrawGraphを使った場合、引数として指定してx・y座標が左上の頂点として表示されてしまうため、「画像サイズ取得→x・y座標の指定に、取得したサイズの半分をマイナスする」と言うことをしなくてはならず、ごちゃごちゃしがちになってしまうからです。 現在もDrawGraphにしている所も結構ありますが(開発初期はそうしていたので、その名残がある部分)。 そういうわけでして、座標が中心指定のDrawGraph関数があるか、もしくはDrawRotaGraphを使っても速度的には問題ないのか、教えていただきたいです。

Page: 1 |

Re: 画像を表示する際、指定座標が中心になるよう表示したいのですが ( No.1 )
名前:TNT 日時:2008/01/12 22:11

自分で関数化すれば簡単ですよ。 int DrawGraph2(int x, int y, int gh, int TransFlag){ int width, height; GetGraphSize(gh, &width, &height); DrawGraph(x - width / 2, y - height / 2, gh, TransFlag); return 1; } と書けば、DrawGraph2を呼び出すだけで中心指定で描画できます。 ただ、GetGraphSizeがどの程度処理時間を食うか分かりませんので(ほとんど食わないと思いますが…) その当たりは様子を見ながら組む方が良いかもしれません。
Re: 画像を表示する際、指定座標が中心になるよう表示したいのですが ( No.2 )
名前:tm 日時:2008/01/13 00:52

そうですねえ、毎度GetGraphSizeを呼ぶ方法も考えましたが、速度が気になりまして。 自分で測ればいいのか、などと思ったのは今やっとでした、すいませんorz
Re: 画像を表示する際、指定座標が中心になるよう表示したいのですが ( No.3 )
名前:tm 日時:2008/01/13 03:41

GetGraphSizeはものすごく問題ないくらい軽いことを報告します。

Page: 1 |