我正在尝试创建UIView
带有CALayer
子层的图像。使用此代码
- (UIImage*)snapshot{
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
我得到了一张图像,但它不能准确地代表屏幕上显示的内容。特别是,它不尊重CAShapeLayer
mask 属性。我的圆角没有出现在图像中。
下面是一个示例在屏幕上的显示方式与它在图像中的显示方式的比较:
只是为了澄清一下,右边的图像与旧对象放置在相同的位置,基本上是对对象进行了光栅化。这就是为什么有相同的背景;它不是我正在捕捉图像的对象的一部分。
如何在图像中保留CAShapeLayer
蒙版的同时捕获对象的图像?
编辑:似乎问题在于图层蒙版,而不是路径。