我已经搜索了所有关于矩形旋转的链接,但没有找到适合我的问题的方法。我有一个RectangleF结构体,希望将其输入旋转矩阵。然后使用结果的RectangleF传递给其他函数。
之所以想要使用矩阵是因为我可能还想进行平移,然后再进行缩放,并将结果矩形传递给其他函数,例如:
之所以想要使用矩阵是因为我可能还想进行平移,然后再进行缩放,并将结果矩形传递给其他函数,例如:
RectangleF original = new RectangleF(0,0, 100, 100);
Matrix m = new Matrix();
m.Rotate(35.0f);
m.Translate(10, 20);
.... (what do I do here ?)
RectangleF modified = (How/where do I get the result?)
SomeOtherFunction(modified);
我该如何实现这个?
我不想在屏幕上或其他地方绘制这个矩形。 我只需要这些值,但我所阅读的所有示例都使用图形类来进行变换和绘制,这不是我想要的方法。
非常感谢
transformed = {-164.142,-15.858,200,200}
- r2d2original.Transform(m)
时,它会改变宽度和高度。它将修改原始值为{-70.711,20,141.421,141.421}
。它将保持垂直于坐标系,其中 TopLeft.Y = TopRight.Y。我猜这是 OP 预期的变换矩形的周围矩形。 - r2d2