代码之家  ›  专栏  ›  技术社区  ›  TK.

c#:在自定义控件中旋转文本

  •  0
  • TK.  · 技术社区  · 17 年前

    我试图在标签内旋转一些文本。我有一个cusom标签,它允许我控制文本渲染过程。

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

    我遇到的问题是,旋转似乎发生在控件原点周围,即坐标(0,0)。是否有一种方法允许文本围绕控件中心而不是oragin旋转?

    谢谢

    1 回复  |  直到 16 年前
        1
  •  2
  •   Joey Gumbo    17 年前

    围绕任意点的旋转通常是将该点平移到原点,然后再进行旋转和平移。问题可能是在旋转后确定文本的尺寸,从而将其向后移动。

    推荐文章