首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iOS中将mask应用于图层后截取屏幕?

问如何在iOS中将mask应用于图层后截取屏幕?
EN

Stack Overflow用户
提问于 2012-08-27 21:59:28
回答 2查看 997关注 0票数 1

我添加了两个UIView到ViewController.view,并将2个正方形图像应用到每个view.layer.mask中,使其就像一个正方形被分成两部分,并在其上addSubview图像视图。
我有一个问题,渲染蒙版图层,并将其保存到相册。我希望保存的照片看起来像第一张照片,但在我将它保存到相册后,它总是看起来像第二张照片。
有没有什么办法可以在遮罩后捕捉到像1号这样的图片?


下面是苹果关于renderIngContext的参考资料。

重要说明此方法的OS X v10.5实现不支持整个核心动画合成模型。不会渲染QCCompositionLayer、CAOpenGLLayer和QTMovieLayer层。此外,不会渲染使用3D变换的图层,也不会渲染指定backgroundFilters、滤镜、compositingFilter或遮罩值的图层。OS X的未来版本可能会添加对渲染这些层和属性的支持。

​

​

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-29 13:11:16

当我们将蒙版应用于任何图像时,我们会得到蒙版图像的alpha属性为1,其余图像为0的结果图像,并且当我们捕获视图图像时,仍然存在完整图像(由于半图像的alpa = 0,我们能够看到半图像,但仍然有完整图像),因此我们获得了完整视图的屏幕截图。

票数 0
EN

Stack Overflow用户

发布于 2012-08-27 22:38:12

我之前已经创建了一个图像捕获函数,它从字面上执行UIView的打印屏幕。我不使用它,因为它不能很好地满足我的需求,但也许你可以使用它:

代码语言:javascript
复制
UIImage *img;   

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

img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12143487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档