gpt4 book ai didi

macos - 如何用 cocoa 中的4个点制作矩形?对于可调整大小的矩形

转载 作者:行者123 更新时间:2023-12-03 17:42:18 25 4
gpt4 key购买 nike

如何用 4 个点制作矩形?我正在通过角创建可调整大小的矩形。

我可以用这样的两点来实现:

NSMakeRect( MIN(point1.x, point3.x), 
MIN(point1.y, point3.y),
fabs(point1.x - point3.x),
fabs(point1.y - point3.y));

如果我移动 1(左下)或 3(右上角)角,效果很好,但如果移动 2(左上)或 4(右下)角,则效果不佳。如何用 4 个 NSPoints - 角来制作它?

最佳答案

前面的答案已经为您生成了矩形,但您说它们没有做您想要的事情,但没有说为什么它们是错误的......所以我会猜测,以防万一我猜对了:

我猜测您有一个矩形,并且您希望像在图形程序中单击拖动时一样移动它的一个角。根据您的示例代码,我进一步假设矩形边与轴平行。

在这种情况下,与您移动的点对角相对的点是 anchor - 它保持原状。您移动的那个显然会移动,另外两个移动以保持形状为矩形。

如果是这种情况,那么您仅根据您移动的点及其对角相对点来计算矩形。如果 point1 或 point3 移动,您在问题中给出的代码将处理这种情况。您只需要一个用于移动 point2 或 point4 的代码,通过简单的替换即可获得:

NSMakeRect( MIN(point2.x, point4.x), 
MIN(point2.y, point4.y),
fabs(point2.x - point4.x),
fabs(point2.y - point4.y));

您现在只需要知道移动了哪个点并选择适当的代码。

关于macos - 如何用 cocoa 中的4个点制作矩形?对于可调整大小的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9331350/

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