如何在iOS中将图层应用到图层后捕获屏幕?

时间:2012-08-27 13:59:28

标签: iphone ios capture layer

我向ViewController.view添加了两个UIView,并将2个正方形图像应用到每个view.layer.mask中,使其像一个正方形被切成2个部分,然后在其上添加视图查看。 我在渲染蒙面图层时遇到问题并将其保存到相册中。 我想保存的照片看起来像照片没有。 1,但它总是看起来像没有。 2我保存到相册后。 在使用面膜后,是否有任何解决方案可以捕获像1号图片一样?

以下是来自apple regarind renderIngContext的引用。

重要说明此方法的OS X v10.5实现不支持整个Core Animation组合模型。不渲染QCCompositionLayer,CAOpenGLLayer和QTMovieLayer图层。此外,不渲染使用3D变换的图层,也不渲染指定backgroundFilters,filters,compositingFilter或蒙版值的图层。未来版本的OS X可能会增加对渲染这些图层和属性的支持。

enter image description here

2 个答案:

答案 0 :(得分:1)

我之前创建了一个图像捕捉功能,它实际上是UIView的打印屏幕。我不使用它,因为它不能很好地满足我的需求,但也许你可以使用它:

UIImage *img;   

UIGraphicsBeginImageContextWithOptions(UIViewYouWantToCapture.bounds.size, self.opaque, 0.0);
[[UIViewYouWantToCapture layer] renderInContext:UIGraphicsGetCurrentContext()];

img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

答案 1 :(得分:0)

当我们对任何图像应用蒙版时,我们得到的结果图像具有蒙版图像的alpha属性为1,剩余图像为0, 当我们捕捉到视图的图像时,仍然有完整的图像(我们能够看到半图像由于alpa = 0的半图像,但仍然有一个完整的图像),所以我们得到了完整视图的截图。