如何解决CGImageCreate:无效的图像alphaInfo:kCGImageAlphaNone应该是kCGImageAlphaNoneSkipLast
我正在尝试将UIVIew捕获为图像,然后可以对其进行操作。我有可在Xcode 11.7 / simulator(运行iOS 13.7)中运行的代码,但抛出此错误:
CGImageCreate:无效的图像alphaInfo:kCGImageAlphaNone。应该是kCGImageAlphaNoneskipLast
在实际设备上运行会导致崩溃。
有什么主意,我该如何在不使用Alpha的情况下创建此图像,或者在事后将其删除?
extension UIView {
// render the view within the view's bounds,then capture it as image
func asImage() -> UIImage {
let renderer = UIGraphicsImageRenderer(bounds: bounds)
return renderer.image(actions: { rendererContext in
layer.render(in: rendererContext.cgContext)
})
}
}
通过以下代码调用它:
@IBAction func reactionListButtonTapped(_ sender: UIButton) {
guard let reactionVC = storyboard?.instantiateViewController(withIdentifier: "ReactionViewController")
as? ReactionViewController else {
assertionFailure("No view controller ID ReactionViewController in storyboard")
return
}
// take a snapshot of current view and set it as backingImage
reactionVC.backingImage = self.view.asImage()
self.present(reactionVC,animated: false,completion: nil)
}
感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。