bru*_*in 20 iphone uiimage nsdata
我正在尝试保存UIIMage,然后检索并显示它.我已成功将图像保存在捆绑中,从那里检索并显示.我的问题来自于我尝试将图像保存到磁盘(将其转换为NSData),然后检索它.我像这样将图像转换为NSData ...
NSData* topImageData = UIImageJPEGRepresentation(topImage, 1.0);
Run Code Online (Sandbox Code Playgroud)
然后我把它写成磁盘就像这样......
[topImageData writeToFile:topPathToFile atomically:NO];
Run Code Online (Sandbox Code Playgroud)
然后我试着像这样检索它......
topSubView.image = [[UIImage alloc] initWithContentsOfFile:topPathToFile];
Run Code Online (Sandbox Code Playgroud)
它不返回任何图像(大小为零).所以我试过......
NSData *data = [[NSData alloc] initWithContentsOfFile:topPathToFile];
topSubView.image = [[UIImage alloc] initWithData:data];
Run Code Online (Sandbox Code Playgroud)
无济于事.当我单步执行调试器时,我确实看到数据包含正确的字节数,但我很困惑为什么我的图像没有被创建.我错过了一步吗?在转换为图像之前,我是否需要对NSData执行某些操作?
Aru*_*nGJ 33
试试这个代码.这对我有用.
保存数据.
创建保存图像的路径.
let libraryDirectory = NSSearchPathForDirectoriesInDomains(.libraryDirectory,
.userDomainMask,
true)[0]
let libraryURL = URL(fileURLWithPath: libraryDirectory, isDirectory: true)
let fileURL = libraryURL.appendingPathComponent("image.data")
Run Code Online (Sandbox Code Playgroud)
将图像转换为Data对象并将其保存到文件中.
let data = UIImageJPEGRepresentation(myImage, 1.0)
try? data?.write(to: fileURL)
Run Code Online (Sandbox Code Playgroud)
检索保存的图像
let newImage = UIImage(contentsOfFile: fileURL.relativePath)
Run Code Online (Sandbox Code Playgroud)
创建一个imageview并使用检索到的图像加载它.
let imageView = UIImageView(image: newImage)
self.view.addSubview(imageView)
Run Code Online (Sandbox Code Playgroud)
Kar*_*hah 17
您应该能够使用UIImage的类方法
[UIImage imageWithContentsOfFile:topPathToFile];
Run Code Online (Sandbox Code Playgroud)
要么
[UIImage imageWithData:data];
Run Code Online (Sandbox Code Playgroud)
这不起作用吗?
希望这可以帮助!
为了防止有人,从iOS6我们有了imageWithData:scale方法.要从NSData对象获取具有正确比例的UIImage,请使用该方法,声明用于存储原始图像的比例.例如:
CGFloat screenScale = [[UIScreen mainScreen] scale];
UIImage *image = [UIImage imageWithData:myimage scale:screenScale];
Run Code Online (Sandbox Code Playgroud)
这里,myimage是存储原始图像的NSData对象.在示例中,我使用了屏幕的比例.如果您对原始图像使用其他比例,请改用该值.
| 归档时间: |
|
| 查看次数: |
57334 次 |
| 最近记录: |