旋转矩形 - C#

Rotate Rectangle - C#

我想让一个矩形围绕它的中心旋转。旋转效果很好,但我不知道如何绕其中心旋转。有人能帮我吗?谢谢! :) 这是我的代码:

    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);
    }

平移所有顶点,使矩形的中心位于 (zero, zero) 上。如果矩形的中心是(x,y),则需要将所有顶点平移(-x,-y)。然后旋转任意角度,然后将顶点平移 (x,y).