我试图在标签内旋转一些文字。我有一个cusom标签,可以让我控制文本渲染过程。
protected override void OnPaint ( PaintEventArgs pe )
{
Graphics g = pe.Graphics;
g.RotateTransform( angle );
g.drawString( text );
g.ResetTransform();
}
我遇到的问题是旋转似乎发生在控制的原点周围,即坐标(0,0)。有没有一种方法允许文本围绕控件的中心而不是oragin旋转?
我知道函数'g.RotateTransform()'所以一个可能的解决方案是旋转文本然后将其转换为控件的中心。如果这是管理工作的唯一方法,那么我是否可以通过一种通用的方式来确保文本位于控件的中心?
由于
答案 0 :(得分:2)
围绕任意点的旋转通常是该点到原点的平移,然后是旋转和平移。问题可能是在旋转后确定文本的尺寸以相应地将其移回。