ios - *** 错误 *** CGImageSource 创建时数据大小为 : 22467 - current size is only: 6139

标签 ios xcode swift uiimage

将图像保存到照片时出现此错误: * 错误 * 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/

相关文章:

ios - removeAtIndex 与 didSet

objective-c - 初学者对 obj-c 中从另一个实例访问一个实例感到困惑

xcode 应用程序在断点启动时崩溃

ios - 从 View Controller 对负 y 原点进行动画处理会破坏约束

ios - 如何向 NSMutableAttributedString 添加填充?

arrays - 如何使用路径中文件中的数组序列化 JSON 数组?

ios - 单击按钮时将按钮图像从一个图像更改为另一个图像时出错

ios - 使用标题数组更改 UITableView 中的部分标题背景颜色

ios - 仅获取下一次 iOS 本地通知的时间

xcode - 如何在 Apple Watch 模拟器中滚动