不使用Graphics旋转RectangleShape

时间:2014-07-21 17:22:23

标签: vb.net forms oop shapes

对于我在vb.net中制作的程序,我需要有一个矩形,其上显示图像,旋转并在屏幕上移动。它需要快速响应,因此我使用标准的RectangleShape。这里的问题是vb.net显然没有内置函数来旋转这个矩形。我真的不能在FillRectangle上使用相应的Graphics等效物,因为它在我使用的计算机上非常滞后 - 因为它需要不同的DrawImage函数用于单独的位图。

那么,有没有办法让Rectangle可以:

  • 保留图片
  • 旋转
  • 以非常无比的方式在舞台上移动

谢谢

1 个答案:

答案 0 :(得分:0)

Dim mxRotate As New Matrix()

'75 being the arbitrary number I picked to rotate by
mxRotate.Rotate(75, MatrixOrder.Append)

e.Graphics.Transform = mxRotate
e.Graphics.DrawRectangle(YourPen, YourRect)

这可能有助于您旋转图像:How to rotate JPEG using Graphics.RotateTransform without clipping

至于表现。我想这一切都会占用一点CPU。或者,如果这是一个选项,您可以使用DirectX或OpenGL进行渲染。