【问题标题】:Top-left point of rotated RectangleGeometry in C#C# 中旋转的 RectangleGeometry 的左上角
【发布时间】:2010-11-19 01:56:56
【问题描述】:

我得到了旋转的RectangleGeometry,我需要找到左上角和右下角的点。最快的方法是什么?

请注意,我不希望这些点用于 AABB 之类的 - 我只需要矩形的点。

提前谢谢你的线索!

干杯

【问题讨论】:

    标签: c# wpf rotation


    【解决方案1】:

    Rect 属性保存RectangleGeometry 的点。我不清楚Rect 是否反映了任何旋转,或者它是否是未旋转的点。如果是未旋转的点,那么您必须从Rect 中获取点,并使用RectangleGeometryTransform 属性对其进行转换。

    【讨论】:

    • @Jim,你绝对是对的。这些点是未旋转的矩形,因此我们需要对它们进行转换(这就是我刚刚检查过的)。谢谢!
    • @Jim,我只是想知道在椭圆的情况下是否有可能获得原始点(我的意思是 EllipseGeometry)?你有什么想法吗?
    • @Jamie:您可以应用变换的逆,然后从Bounds 属性中获取点。
    • @Jamie:我突然想到你已经拥有了找到EllipseGeometry 的初始点所需的一切。左上角为Center.X - RadiusX, Center.Y - RadiusY。其他点的计算类似。这会给你一个矩形,你可以从中计算大小。请注意,如果Transform 包含任何类型的平移、倾斜、大小调整等,它不会为您提供初始点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多