我是使用VB.Net框架4.7.2 Winforms的初学者。 我试图在应用程序中旋转飞机的图像,但它显示了旋转的飞机和原始飞机。
左图不旋转,右图旋转-25°
PROJECT
这是我旋转图像的代码
我只想显示旋转的图像。 预先感谢。
答案 0 :(得分:0)
为了详细说明,如果将Image
对象分配给Image
的{{1}}属性,则控件每次都会绘制PictureBox
本身。如果您随后在Image
事件处理程序中自己绘制相同的Image
对象,那么您当然会看到两个图像。
基本上,不要将任何内容分配给控件的Paint
属性,而是分配给您自己的Image
字段,并在Image
事件处理程序中使用该字段:
Paint
如果您当前在设计器中进行设置,则可以在当前设置Private myImage As Image
Private Sub Rotation(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
With e.Graphics
.TranslateTransform(PictureBox1.Width \ 2, PictureBox1.Height \ 2)
.RotateTransform(dgr)
.DrawImage(myImage, (-PictureBox1.Width \ 2), (-PictureBox1.Height \ 2))
End With
End Sub
的地方或在myImage
事件处理程序中的代码中设置PictureBox1.Image
。