无法在视图图层中捕捉遮罩
所以我使用下面的代码将图像蒙版应用于UIView图层:
CALayer *maskLayer = [CALayer layer]; UIImage *maskImage = self.image.image; maskLayer.contents = (id)maskImage.CGImage; maskLayer.frame = CGRectMake(0.0, 0.0,1235, 935); self.bgView.layer.mask = maskLayer;
一切都很好,戴着面具覆盖了视图的内容和作品。 不过,我正在尝试截图让用户保存图像。 我使用下面的代码:
UIGraphicsBeginImageContext(captureFrame.size); [self.bgView.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);
框架是好的,并保存到照片库。 唯一的问题是应用于图层的蒙版不能在JPG中显示。 我也尝试嵌套我的bgView到另一个UIView,然后尝试renderInContext:
但它是同样的事情。 它看起来好像在最后的JPG中没有应用蒙版。
有任何想法吗? 谢谢。
这是不幸的,但它是如何工作的。 -[CALayer renderInContext:]
的文档说:
…不使用3D变换的图层,也不使用指定backgroundFilters,filters,compositingFilter或蒙版值的图层。
CoreAnimation适用于屏幕上的animation; 它不是一个通用的graphics框架。 尝试使用CoreGraphics–这并不困难,您将拥有更多的控制权,并且您将获得更高质量的输出。
- 反转基于笔划的CALayer掩码(不填充)
- 子视图出现在superviews下面layer.border?
- 我如何可以自定义borderWidth的所有UITextField外观?
- 如何在animation过程中更改CALayer的颜色?
- 使用负速度恢复CABasicAnimation?
- 在iOS上,从上下文创build一个图层并获取图层的上下文之后,这些上下文又是如何相互关联的?
- CABasicAnimation – 两个angular度之间的animation
- RE:自动旋转,滚动,项目符号,带有属性的string缩进UIScrollView
- SpringWithDamping为CALayeranimation?