将图像保存到照片时出现此错误: * 错误 * CGImageSource 创建时数据大小:22467 - 当前大小仅为:6139
let canvasframe = self.canvasView.frame
self.canvasView.frame = CGRectMake(0, 0, self.size.width, self.size.height)
UIImageWriteToSavedPhotosAlbum(self.getUIImageFromThisUIView(self.canvasView),nil,nil,nil);
self.canvasView.frame = canvasframe
func getUIImageFromThisUIView(aUIView: UIView) -> UIImage {
UIGraphicsBeginImageContext(aUIView.bounds.size)
aUIView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let viewImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return viewImage
}
最佳答案
当我们尝试从文档目录中获取 png 文件并且我们直接将文件的内容分配给本地 UIImage 变量时,就会出现此问题。而不是这样做,首先获取文件内容的数据,然后将数据转换为 UIImage。简而言之
改变这个:
let img = UIImage(contentsOfFile: filename)
为此:
let img = NSData(contentsOfFile: filename)
let photo = UIImage(data: img!)!
这对我有用。希望对你有帮助
关于ios - *** 错误 *** CGImageSource 创建时数据大小为 : 22467 - current size is only: 6139,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36687864/