gpt4 book ai didi

ios - 查找 CGPath 与 CGRect 相交的区域

转载 作者:行者123 更新时间:2023-12-01 19:20:10 25 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,我需要能够看到屏幕边界内有多少 CGPath 以确保有足够的空间让用户仍然可以触摸。问题是,当形状在拐角处时,当路径在拐角处时,我通常会使用的所有方法(以及我能想到的所有方法)都会失败。

这是一张照片:enter image description here

我如何计算屏幕上有多少该形状?

最佳答案

显而易见的答案是通过像素绘制凭经验进行操作,或者通过多边形裁剪进行分析。

因此,要凭经验进行操作,您将创建一个 CGBitmapContext视口(viewport)的大小,将其清除为已知颜色,例如 (0, 0, 0),以另一种已知颜色在多边形上绘制,例如 (1, 1, 1) 然后遍历位图中的所有像素上下文并把你能找到的总数加起来。这可能相当昂贵,但如果有帮助,您可以使用较低分辨率的上下文来获得更近似的结果。

要进行分析,您将运行多边形裁剪算法,例如 described here从原始多边形派生出一个新的多边形,这只是它实际在屏幕上的那部分。然后,您将使用任何常规公式获得该区域。

裁剪凸多边形实际上比裁剪凹多边形要容易得多,因此如果您的多边形是固定形状的,那么您可以考虑使用三角剖分算法,例如 ear clippingdecomposition to monotone edges然后对那些而不是原始的进行剪裁和面积计算。

关于ios - 查找 CGPath 与 CGRect 相交的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10760885/

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