我想将UIView的快照作为PNG图像。在我的情况下,视图有圆角,因此,当我拍摄快照时,它会显示边缘为圆角的黑色。我希望它是透明的。我怎样才能做到这一点?
以下是我用于获取图片的代码。
- (UIImage *)snapshotOfQuoteContainerView {
UIGraphicsBeginImageContextWithOptions(self.outerContainerView.bounds.size, YES, 0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.outerContainerView.layer renderInContext:context];
UIImage *snapshotImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return snapshotImage;
}
注意:After changing image size, image's transparent part became black并未解决我的问题。就我而言,它与更改图像大小无关。
答案 0 :(得分:2)
UIGraphicsBeginImageContextWithOptions
的第二个参数是opaque
。您提供YES
,但需要NO
。
<强>不透明强>
布尔标志,指示位图是否不透明。如果你 知道位图完全不透明,指定YES忽略alpha 通道并优化位图的存储。指定NO意味着 位图必须包含一个alpha通道来处理任何部分 透明像素。