如何使用 NSFileManager 将 UIImage 保存到文件中?
Posted
技术标签:
【中文标题】如何使用 NSFileManager 将 UIImage 保存到文件中?【英文标题】:How to save UIImage to file with NSFileManager? 【发布时间】:2012-04-10 18:16:20 【问题描述】:谢谢,
【问题讨论】:
【参考方案1】:我们开始吧。
这会将UIImage
存储到您的ios 应用程序的文档目录中。
你不需要NSFileManager
。
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
UIImage * imageToSave = [UIImage imageNamed:@"Icon.png"];
NSData * binaryImageData = UIImagePNGRepresentation(imageToSave);
[binaryImageData writeToFile:[basePath stringByAppendingPathComponent:@"myfile.png"] atomically:YES];
编辑: 如果您从 iOS 相机存储图像,您可能会查看如何将图像旋转到正确的方向。 Look here in that case.
【讨论】:
谢谢,但是当我加载图像时,它显示的方向错误。 @JonasSchnelli ...这就是我建议使用 NSCoding 的原因。 @Matisse VerDuyn:好的。一加。但是通过“手”转动它并不难。 :) 我如何检索文件? @user1234096UIImagePNGRepresentation()
剥离imageOrientation
【参考方案2】:
要将其保存为文件,您需要将其放在 plist 中,或者创建图像的 png/jpg 表示。您可以使用 NSCoding 更轻松地保存 UIImage 数据。
有关更多信息,请参阅本教程:http://www.raywenderlich.com/1914/how-to-save-your-app-data-with-nscoding-and-nsfilemanager
【讨论】:
嗯...为什么要使用 NSCoding?好的:也许当您尝试在其中存储带有 UIImages 的复杂对象结构时。编码过程也会消耗 CPU 滴答声。以上是关于如何使用 NSFileManager 将 UIImage 保存到文件中?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 NSFileManager 复制 UNIX 可执行文件?