2009-04-21 8 views
0

ラベル内のテキストを回転しようとしています。私はテキストレンダリングプロセスを制御できるようにするためのラベルを持っています。c#:カスタムコントロール内のテキストの回転

protected override void OnPaint (PaintEventArgs pe) 
{ 
    Graphics g = pe.Graphics; 
    g.RotateTransform(angle); 

    g.drawString(text); 

    g.ResetTransform(); 
} 

私が抱えている問題は、コントロールの原点の周りに回転があるように見えるということです。つまり、座標(0,0)です。テキストがオーリンではなくコントロールの中心を中心に回転できるようにする方法はありますか?

私は関数 'g.RotateTransform()'を認識しています。そのため、テキストを回転させてコントロールの中央に翻訳することが考えられます。これがジョブを管理する唯一の方法であれば、テキストがコントロールの中央にあることを保証するためにtransforを計算できる汎用的な方法がありますか?

おかげ

答えて

2

任意の点を中心とした回転は、再び通常の起源は、回転及び並進にその時点の翻訳です。問題はおそらく、それをそれに応じて戻すために、回転後のテキストの寸法を決定することであろう。

関連する問題