cocoa – 实现套索选择工具的算法?

cocoa – 实现套索选择工具的算法?,第1张

概述我正在开发一个Mac OS X应用程序,作为它的UI的一部分,它将在其主视图中显示许多可以选择的视觉元素.这些元素可以放置在视图中的任何位置. UI将支持各种选择元素的方式:矩形选框选择,椭圆选框选择和“自由”套索选择. 我已经有矩形和椭圆选框工作了.算法非常简单;如果元素的区域与矩形/椭圆的区域相交,则认为元素被“选中”. 套索选择将像Photoshop中的现代图像处理应用程序一样工作;用户可以 我正在开发一个Mac OS X应用程序,作为它的UI的一部分,它将在其主视图中显示许多可以选择的视觉元素.这些元素可以放置在视图中的任何位置. UI将支持各种选择元素的方式:矩形选框选择,椭圆选框选择和“自由”套索选择.

我已经有矩形和椭圆选框工作了.算法非常简单;如果元素的区域与矩形/椭圆的区域相交,则认为元素被“选中”.

套索选择将像Photoshop中的现代图像处理应用程序一样工作;用户可以单击并拖动将自行关闭的路径,并且将选择所绘制路径中包含的元素.

该算法可能比矩形/椭圆形选择复杂得多,因为选择的形式是不受限制的.我想知道是否有人有写这样的经验,或者你是否可以指出我正确的方向,关于什么样的编程技术是必要的,这个算法最有效的方法是什么.

提前致谢.

解决方法 我能想到的唯一方法是将套索轮廓视为多边形.然后,您可以使用任何标准 point-inside-polygon test来检查要选择的元素.

当多边形与自身相交时,你必须做出决定该做什么(例如图8).

构造多边形时,为了防止它获得太多的点,也许你可以跳过太接近前一点的点(可能是3个像素左右,具体取决于你的应用).

总结

以上是内存溢出为你收集整理的cocoa – 实现套索选择工具的算法?全部内容,希望文章能够帮你解决cocoa – 实现套索选择工具的算法?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1023138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存