我想围绕它的中心旋转一个矩形。旋转工作完美,但我无法弄清楚如何围绕其中心旋转它。有人能帮我吗?谢谢! :) 这是我的代码:
private void button1_Click(object sender, EventArgs e)
{
Paint += new PaintEventHandler(PaintRectangle);
angle = 0;
t = new Timer();
t.Tick += new EventHandler(DrawRectangle);
t.Interval = 1;
t.Start();
}
private void DrawRectangle(object sender, EventArgs e)
{
angle++;
Invalidate();
}
private void PaintRectangle(object sender, PaintEventArgs e)
{
Rectangle r = new Rectangle(0, 0, 100, 10);
Graphics g = CreateGraphics();
g.TranslateTransform(124, 150);
g.RotateTransform(angle);
g.DrawRectangle(Pens.White, r);
}
答案 0 :(得分:1)
翻译所有顶点,使矩形的中心位于(zero, zero)
上。如果矩形的中心是(x,y),则需要将所有顶点平移(-x,-y)
。然后旋转任意角度,然后将顶点向后翻译(x,y)
。