ページ 1 / 1
文字を右揃えにする方法ってないでしょうか?
Posted: 2009年11月16日(月) 20:46
by ☆
例えば、これとかは
DrawFormatString(x, y,color[0],"%.1fFPS",1000/ave);
左揃えになってます。
どうしたら良いのでしょうか?
Re:文字を右揃えにする方法ってないでしょうか?
Posted: 2009年11月16日(月) 21:21
by non
%5.1 のように全体の桁数を指定する方法ではだめですか。
Re:文字を右揃えにする方法ってないでしょうか?
Posted: 2009年11月16日(月) 21:26
by やっくん
文字列から文字数とフォントサイズを割り出し、
たとえば
文字数×フォントサイズを揃えたい位置から引いてあげたものをX座標に入れるとかではだめでしょうか?
フォントのサイズは指定したドット数に大体比例するようですし。
Re:文字を右揃えにする方法ってないでしょうか?
Posted: 2009年11月16日(月) 21:39
by 御津凪
> 文字数×フォントサイズ
その計算法は、固定幅フォントで、かつ描画する文字列が半角文字のみ、あるいは全角文字のみでないと正しく計算できません。
DX ライブラリには文字列幅を計算する関数 GetDrawStringWidth や GetDrawFormatStringWidth がありますので、
それらの関数を使って計算した方が正確です。
しかし、今回程度のものなら、それらを使って計算する方法より、
non さんのように右揃えになるように書式指定をした方が楽かと思います。