0

我有一个需要剪切的 AVCaptureVideoPreviewLayer,以便它很好地放置在我的图像上,该图像具有需要看到的透明部分。

从 AVCaptureVideoPreviewLayer 中切出形状的最佳/有效方法是什么?

我已经设法使用 CAShapeLayer 获得正确的形状,但似乎 AVCaptureVideoPreviewLayer 没有 Path 属性来做同样的事情。

cameraLayer = [[CAShapeLayer layer] retain];
CGRect rect = CGRectMake(64, 32, 190 , 152);
CGMutablePathRef path = CGPathCreateMutable();
CGPathAddEllipseInRect(path, NULL, rect);
cameraLayer.path = path;
CGPathRelease(path);

*编辑是否可以从 UIView 或 Imageview 中剪切出一个形状,我也应该能够做我想做的事情

谢谢

4

1 回答 1

1

你说:

我已经设法使用 CAShapeLayer 获得正确的形状,但似乎 AVCaptureVideoPreviewLayer 没有 Path 属性来做同样的事情。

这是正确的。根据设计,只有 CAShapeLayer 具有路径属性。

如果您想在视图中切割几何孔,通常的方法是创建一个 CAShapeLayer,将您的形状路径安装到其中,然后使形状图层成为视图图层的蒙版。这很好用。请注意,您需要将视图上的 opaque 属性设置为 NO,以便能够通过“孔”看到视图下方的内容。

于 2012-05-10T18:55:52.090 回答