2

我正在渲染多个图层以获得最终图像。其中一张图片包含人脸,另一张图片包含背景,脸部周围有透明渐变,因此隐藏了真实背景。在 iOS6 中它可以完美运行,但它在 iOS7 中使用透明渐变创建了一种奇怪的效果。

编码:

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中的结果:

IOS6

IOS 7

4

1 回答 1

6

好的,解决方案正在改变这一行:

UIGraphicsBeginImageContext(rect.size);

对于这个:

UIGraphicsBeginImageContextWithOptions(rect.size, TRUE, [[UIScreen mainScreen] scale]);

现在它也适用于 iOS7

于 2013-09-26T11:46:20.123 回答