【发布时间】:2016-11-24 16:27:17
【问题描述】:
我想让一个矩形围绕它的中心旋转。旋转效果很好,但我不知道如何围绕它的中心旋转它。有人能帮我吗?谢谢! :) 这是我的代码:
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);
}
【问题讨论】:
-
为什么要在按钮点击事件中一次又一次地分配绘制事件处理函数?
-
因为我想在按下那个按钮时旋转它。
-
Graphics g = CreateGraphics();哎哟!您应该使用 e.Graphics 对象。这里和总是!!旋转后将平移设置回相同的量,然后绘制!数量应该是矩形大小的一半! -
谢谢,但这对我的问题没有帮助。
-
@TaW,
Graphics g = CreateGraphics();和Graphics g = e.Graphics;有什么不同?
标签: c# graphics rectangles