gpt4 book ai didi

ios - 如何获取非矩形旋转UIImage的 "edge"?

转载 作者:行者123 更新时间:2023-11-30 11:49:59 25 4
gpt4 key购买 nike

我有一个 UIImageView,里面有一个 png 图像。 ImageView 是可旋转的(通过 RotationRecognizer 和 UIImageView.transform)。

pic: image with frame

现在我想检测(即)左图像边缘是否在其 super View 之外 - 但当然只有非透明内容!我试图通过

掩盖图像
let maskLayer = CALayer()
maskLayer.contents = image.cgImage
maskLayer.frame = CGRect(origin: CGPoint.zero, size: image.size)
self.layer.mask = maskLayer

mask 只能看到所需的内容,但对检测图像边缘的“框架”没有影响。我没有找到任何“基于掩模”的检测,希望你能帮助我。

pic: image without frame

最佳答案

您可以做的是使用外部工具创建一个刚好覆盖图像的凸包。然后,您旋转并定位该凸包,使其与图像完全相同。如果任何点位于屏幕矩形之外,那么您的蒙版也在屏幕之外。

将图像掩模转换为凸包中的多少个顶点取决于您希望测试的准确度。

https://en.wikipedia.org/wiki/Convex_hull

关于ios - 如何获取非矩形旋转UIImage的 "edge"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48438480/

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