我在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!
答案 0 :(得分:2)
解决此问题的一种方法是使用 Quartz 函数
在drawRect方法中使用CGContextClipToMask(context,rect,maskImage)
请参阅CGContextClipToMask example链接以获取帮助
答案 1 :(得分:2)
你必须屏幕截图试试这段代码:
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);
我希望能帮助你。