首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >*错误* CGImageSource是用数据大小: 22467创建的--当前大小仅为: 6139

*错误* CGImageSource是用数据大小: 22467创建的--当前大小仅为: 6139
EN

Stack Overflow用户
提问于 2016-04-18 07:32:06
回答 2查看 652关注 0票数 1

在将图像保存到照片时获取此错误: * * CGImageSource是使用数据大小: 22467创建的-当前大小仅为: 6139

代码语言:javascript
复制
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
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-07 04:43:24

当我们试图从文档目录获取png文件并将文件的内容直接分配给本地UIImage变量时,就会出现这个问题。而不是这样做,首先获取文件内容的数据,然后将数据转换为UIImage。总之

改变这一点:

代码语言:javascript
复制
let img = UIImage(contentsOfFile: filename)

对此:

代码语言:javascript
复制
let img = NSData(contentsOfFile: filename)
let photo = UIImage(data: img!)!

这对我有用。希望这对你有帮助

票数 1
EN

Stack Overflow用户

发布于 2016-12-06 16:06:19

我在下载图片时也遇到了同样的问题。我假设我打开的文件是一个PNG,但是api抛出了一个500,tmp/ NDData实际上包含了html错误。

heres my answer in other SO on how to catch the bytesize

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36687864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档