私は.NETCF(Windows Mobile)Graphics
クラスとDrawString()
メソッドを使用して、1文字を画面にレンダリングしています。Graphics.DrawString()の中央テキスト出力
問題は、正しくセンタリングされていないようです。文字列レンダリングの位置のY座標を何に設定しても、常にそれよりも低くなり、テキストサイズが大きくなるとYオフセットが大きくなります。
例えば、テキストサイズ12で、オフセットは約4であるが、32でオフセット約10の
私は文字が縦にそれが中に描かれていますし、センタリングされた矩形のほとんどを取りたいれます水平にここに私の基本的なコードがあります。 this
は、それが中に描かれているユーザーコントロールを参照している。
Graphics g = this.CreateGraphics();
float padx = ((float)this.Size.Width) * (0.05F);
float pady = ((float)this.Size.Height) * (0.05F);
float width = ((float)this.Size.Width) - 2 * padx;
float height = ((float)this.Size.Height) - 2 * pady;
float emSize = height;
g.DrawString(letter, new Font(FontFamily.GenericSansSerif, emSize, FontStyle.Regular),
new SolidBrush(Color.Black), padx, pady);
はい、私は私が代わりに使用し、それとのセンタリングを設定することができ、ラベルコントロールがある知っているが、私は実際にこれを手動で行う必要がありますGraphics
クラス。
他の方法を示してくれてありがとう、本当に中心の位置合わせの問題で私を助けてくれてありがとうTextRenderer.DrawTextはもっと精密で、それから単純なegraphics.drawstringがたくさんありがとう、私から投票する:) –