gpt4 book ai didi

iphone - NSData 到 UIImage

转载 作者:行者123 更新时间:2023-12-03 18:19:42 24 4
gpt4 key购买 nike

我正在尝试保存 UIIMage,然后检索并显示它。我成功地将图像保存在 bundle 中,从那里检索它并显示。我的问题来自于当我尝试将图像保存到磁盘(将其转换为 NSData),然后检索它时。我将图像转换为 NSData 像这样......

NSData* topImageData = UIImageJPEGRepresentation(topImage, 1.0);

然后我像这样将其写入磁盘......

[topImageData writeToFile:topPathToFile atomically:NO];

然后我尝试像这样检索它......

topSubView.image = [[UIImage alloc] initWithContentsOfFile:topPathToFile];

不返回图像(大小为零)。所以我尝试了...

NSData *data = [[NSData alloc] initWithContentsOfFile:topPathToFile];
topSubView.image = [[UIImage alloc] initWithData:data];

无济于事。当我单步执行调试器时,我确实看到数据包含正确的字节数,但我对为什么没有创建我的图像感到困惑。我是不是少了一步?在转换为图像之前我需要对 NSData 执行某些操作吗?

最佳答案

试试这个代码。这对我有用。

保存数据。

创建保存图像的路径。

let libraryDirectory = NSSearchPathForDirectoriesInDomains(.libraryDirectory,
.userDomainMask,
true)[0]
let libraryURL = URL(fileURLWithPath: libraryDirectory, isDirectory: true)
let fileURL = libraryURL.appendingPathComponent("image.data")

将图像转换为数据对象并将其保存到文件中。

let data = UIImageJPEGRepresentation(myImage, 1.0)
try? data?.write(to: fileURL)

检索保存的图像

let newImage = UIImage(contentsOfFile: fileURL.relativePath)

创建一个 ImageView 并使用检索到的图像加载它。

let imageView = UIImageView(image: newImage)
self.view.addSubview(imageView)

关于iphone - NSData 到 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2240765/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com