首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CALayer renderInContext iOS7

CALayer renderInContext iOS7
EN

Stack Overflow用户
提问于 2013-09-26 17:45:01
回答 1查看 2.6K关注 0票数 2

我渲染多个层来得到一个最终的图像。其中一个图像包含一个人脸,另一个包含一个背景,该背景在面部周围具有透明的渐变,以便隐藏真正的背景。在iOS6中,它可以完美地工作,但它在iOS7中创建了一个奇怪的透明渐变效果。

代码:

代码语言:javascript
复制
CGRect rect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(rect.size);

CGContextRef context = UIGraphicsGetCurrentContext();

[faceImageView.layer renderInContext:context];
[fakeBackgroundImageView.layer renderInContext:context];

UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

iOS6和iOS7中的结果:

EN

回答 1

Stack Overflow用户

发布于 2013-09-26 19:46:20

好的,解决方案是更改这一行:

代码语言:javascript
复制
UIGraphicsBeginImageContext(rect.size);

对于这一条:

代码语言:javascript
复制
UIGraphicsBeginImageContextWithOptions(rect.size, TRUE, [[UIScreen mainScreen] scale]);

现在它也可以在iOS7中工作了

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

https://stackoverflow.com/questions/19024785

复制
相关文章

相似问题

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