我添加了一个口罩的UIView的层:
CGImageRef maskImageRef = [UIImage imageNamed:"Icon.png"].CGImage;
CALayer maskLayer = [CALayer layer];
maskLayer.contents = (__bridge id)maskImageRef;
self.layer.mask = maskLayer;
然后,我用这个代码从一个UIView获取快照:
[self.layer renderInContext:mainViewContentContext];
但是面具并没有绘制。
如何画self.layer用面膜?
特别THX!
解决这个问题的一个方法可以是使用Quartz功能
使用CGContextClipToMask(背景下,矩形,maskImage)的drawRect方法内
请参阅CGContextClipToMask例如链接求助
你必须截图画面试试这个代码:
CGRect screenRect =CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height-44);
UIGraphicsBeginImageContext(screenRect.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
[self.view.layer renderInContext:ctx];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, self, nil, nil);
我希望帮助你。