c#中的旋转面板
本文关键字:旋转 | 更新日期: 2023-09-27 18:13:05
我正在制作一款c#游戏,这对我来说是一门新语言。
当我按住键盘上的一个键时,我想让面板旋转。当键被释放时,面板应停止旋转。
我在网上看了看,找到了GDI+,但我不太明白它。这是网站:https://web.archive.org/web/20141229192143/http://bobpowell.net/drawing_an_image.aspx
我已经读过关于GDI+,但我不知道如何在我的情况下使用它,我已经在项目中有面板,以及如何添加它。
这是用于旋转的代码,但是当我将其放入程序中时,所有内容都加了下划线。
mx.Rotate(-30);
g.Transform = mx;
g.DrawImage(img,new Point(100,50));
我真的不明白mx.rotate
行是什么意思,也不知道我应该如何更新它来实现按下键时的旋转。
我用的是Visual studio 2008
原始代码中少了一行:
Matrix mx = new Matrix();
将此添加到代码中,它应该可以工作。这将以一个角度绘制图像,就像在原始文档中一样。如果你想让用户看到面板的旋转,你最好使用计时器来增加旋转角度并重新绘制。
您的代码中有一些错误。下面是一个从Paint
事件中绘制旋转图像的工作示例。
private void Form1_Paint(object sender, PaintEventArgs e)
{
var matrix = new Matrix();
var image = Image.FromFile("c:''img''your-image.png");
matrix.Rotate(-30);
e.Graphics.Transform = matrix;
e.Graphics.DrawImage(image, new Point(100, 100));
}