gpt4 book ai didi

c++ - 旋转后无法重新排列椭圆的坐标

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:01:23 25 4
gpt4 key购买 nike

我画了一个椭圆。我有 8 个 handle 。

handle 是 TopLeft、MidTop、TopRight、MidLeft、MidRight、BottomLeft、MidBottom、BottomRight。

只要用户将鼠标悬停在这些句柄中的任何一个上,就会显示光标。为了显示光标,我引用了 MS-WORD 形状的椭圆。

当我旋转或制作椭圆的镜像时,我的问题就来了。我无法重新排列坐标,因此无法正确显示光标。

请帮助。

注意:请打开MS-Word。转到“插入”选择“形状”在那个选择“椭圆”形状。画出来。如果你点击它,你会看到椭圆形周围有 8 个点。那些被称为句柄。如果将鼠标悬停在任何 handle 上,请检查光标显示。光标显示取决于句柄。我需要在 VC++ 中实现与 MS-WORD 中相同的功能。 .

编辑 - 从评论中添加以下信息:

问题是我旋转后重新排列坐标。如果我将椭圆稍微向右旋转(在 MS-WoRD 中尝试)。我认为哪一点是左上角?我试图用上面的代码重新排列。但它在很多情况下都不起作用。旋转椭圆后获取左上角是我现在面临的主要大问题。

struct SortingFunction 
{
bool operator()(const CRect& a, const CRect& b)
{
if (a.left == b.left)
return a.top <= b.top; else return a.left < b.left;
}
}

最佳答案

handle 也是点,您需要做的就是确定旋转椭圆的数量,并随着该旋转旋转 handle 。

关于c++ - 旋转后无法重新排列椭圆的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6027102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com