图片框中的旋转图像显示旋转和原始形式
rotated image in a picturebox shows rotated and original form
我是使用 VB.Net 框架 4.7.2 Winforms 的初学者。
我试图在我的应用程序中旋转一架飞机的图像,但它显示了旋转后的图像和原始图像。
左图不旋转,右图旋转-25°
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(PictureBox1.Image, (-PictureBox1.Width \ 2), (-PictureBox1.Height \ 2))
End With
End Sub
这是我用来旋转图像的代码
我只想显示旋转后的图像。
提前致谢。
具体来说,如果您将一个 Image
对象分配给 PictureBox
的 Image
属性,那么控件将在每个时间绘制 Image
自身时间。如果您随后在 Paint
事件处理程序中自己绘制相同的 Image
对象,那么您当然会看到两个图像。
基本上,不要将任何内容分配给控件的 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
您可以在当前设置 PictureBox1.Image
的代码中设置 myImage
,或者如果您当前在设计器中进行设置,则可以在 Load
事件处理程序中设置它。
我是使用 VB.Net 框架 4.7.2 Winforms 的初学者。 我试图在我的应用程序中旋转一架飞机的图像,但它显示了旋转后的图像和原始图像。
左图不旋转,右图旋转-25°
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(PictureBox1.Image, (-PictureBox1.Width \ 2), (-PictureBox1.Height \ 2))
End With
End Sub
这是我用来旋转图像的代码
我只想显示旋转后的图像。 提前致谢。
具体来说,如果您将一个 Image
对象分配给 PictureBox
的 Image
属性,那么控件将在每个时间绘制 Image
自身时间。如果您随后在 Paint
事件处理程序中自己绘制相同的 Image
对象,那么您当然会看到两个图像。
基本上,不要将任何内容分配给控件的 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
您可以在当前设置 PictureBox1.Image
的代码中设置 myImage
,或者如果您当前在设计器中进行设置,则可以在 Load
事件处理程序中设置它。