我有一个需要剪切的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中剪切出形状我应该能够做我想要的事情
由于
答案 0 :(得分:1)
你说:
我已经设法使用CAShapeLayer获得了正确的形状但是它 似乎AVCaptureVideoPreviewLayer没有要做的Path属性 同样的。
这是对的。根据设计,只有CAShapeLayer具有路径属性。
如果要在视图中剪切几何孔,通常的方法是创建CAShapeLayer,将形状路径安装到其中,然后使形状图层成为视图图层的蒙版。这很好用。请注意,您需要将视图上的opaque属性设置为NO,以便能够通过“孔”查看视图下的内容。