C# 以正方形为中心旋转

C# 以正方形为中心旋转,c#,rotation,shapes,C#,Rotation,Shapes,我在这里看到,以前有人问过,但我是C-Sharp C的新手,我真的不明白它是如何工作的 代码更新: using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { Initializ

我在这里看到,以前有人问过,但我是C-Sharp C的新手,我真的不明白它是如何工作的

代码更新:

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            timer1.Enabled = true;
        }
        Rectangle rect = new Rectangle(200, 255, 140, 140);


private void Form1_Paint(object sender, PaintEventArgs e)
    {
        e.Graphics.TranslateTransform(rect.X, rect.Y);
        e.Graphics.RotateTransform(180F);
        e.Graphics.TranslateTransform(-rect.X, -rect.Y);
        e.Graphics.DrawRectangle(Pens.Black, rect);
        e.Graphics.ResetTransform();
    }



private void kilepes_btn_Click(object sender, EventArgs e)
    {
        this.Close();
    }


    private void timer1_Tick(object sender, EventArgs e)
    {
        this.Invalidate();
    }

     private void Form1_Load(object sender, EventArgs e)
        {

        }
    }
}

现在它使正方形旋转,但不绕其中心旋转。它绕着左上角旋转,所以对我不好。如何更改代码以使其工作?

我们可以编写您的作业,但这既不是作业的重点,也不是本网站的重点。-以下是您需要的内容:Paint事件及其参数e.Graphics;方法Graphics.DrawRectangle,矩形的大小,两个点:其左上角、中心,方法Graphics.TranslateTransform和Graphics.RotateTransform和Graphics.ResetTransform。还有一支钢笔。。你想要旋转的角度一旦你写下一些代码,遇到问题,请编辑你上面的问题,包括你当前的代码和你的具体问题。编程中的第一件事,也是一件非常困难的事,就是确切地知道你想要做什么。也许你只能旋转90度?在这种情况下,您需要的只是位置/左上角和尺寸..?不完全是。看看这个!这是一种选择。我发现这样做更容易:平移、旋转、平移回退、绘制、重置:e.Graphics.TranslateTransformcenter.X,center.Y;e、 图形。旋转变换角;e、 图形.TranslateTransform center.X,-center.Y;e、 Graphics.DrawRectanglePens.Blue,矩形;e、 图形转换;