【问题标题】:'Cut' a shape out of UIView or AVCaptureVideoPreviewLayer iPhone从 UIView 或 AVCaptureVideoPreviewLayer iPhone 中“剪切”一个形状
【发布时间】:2012-05-17 01:54:11
【问题描述】:

我有一个需要剪切的 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 中剪切出一个形状,我应该也可以做我想做的事情

谢谢

【问题讨论】:

    标签: iphone objective-c avfoundation calayer cashapelayer


    【解决方案1】:

    你说:

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

    没错。根据设计,只有 CAShapeLayer 具有路径属性。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2012-07-30
      • 2017-05-03
      • 1970-01-01
      • 2016-08-17
      相关资源
      最近更新 更多