我有一个内部有png图像的UIImageView。 ImageView是可旋转的(通过RotationRecognizer和UIImageView.transform)。
现在我想检测一下(即)左图像边缘是否超出它的超视图 - 当然只有非透明内容! 我试图通过
来掩盖图像let maskLayer = CALayer()
maskLayer.contents = image.cgImage
maskLayer.frame = CGRect(origin: CGPoint.zero, size: image.size)
self.layer.mask = maskLayer
蒙版仅用于查看所需内容,但对于检测图像边缘的“帧”没有影响。我没有找到任何“基于面具”的检测和希望,你可以帮助我。
答案 0 :(得分:0)
您可以使用外部工具创建一个仅覆盖图像的凸包。然后旋转并定位凸包与图像完全相同。如果任何一点位于屏幕矩形之外,那么你的面具也在屏幕之外。
凸包中要转换图像蒙版的顶点数取决于您希望测试的准确程度。