2012-03-14 48 views
0

以后使用我要保存的图像,用户从相机胶卷选择,当应用程序退出并重新启动我想显示这些图像用户。我搜索了互联网,没有找到很多有用的资源。我知道我可以在数据库中的BLOB写入图像,但我不想这样做是增加了数据库的大小。
是否可以将图像保存路径,然后在以后使用该路径来访问该图像。影像保存在iPhone

+0

这是可能的,通常保存到设备上的Documents或Library/Caches目录。 – Jeremy 2012-03-14 14:35:19

+0

你能提供一些教程或代码吗? – 2012-03-14 14:36:44

回答

1

你必须使用UIImagePickerController 从相机胶卷

得到媒体,你会得到的委托方法

- (void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

在这里你可以得到图像的图像并保存作为NSData的。 。在一个文件中,然后检索回它下一次

编辑:

保存

Data = UIImageJPEGRepresentation(theImage,1.0); 

     NSString *imagePath = [ContentFolder stringByAppendingPathComponent:[NSString stringWithFormat:@" %d.plist",Counter]]; 
     NSLog(@" iamge path %@",imagePath); 


     NSMutableDictionary *objectDictionary = [[NSMutableDictionary alloc]initWithObjectsAndKeys:data,@"data", nil]; 

     [objectDictionary writeToFile:imagePath atomically:YES]; 

你应该能够这些根据自己的需要来改变..

+0

,我知道,我可以将图像转换成NSData的,但主要的问题是保存它们,你能提供一些代码如何写图像文件。谢谢 – 2012-03-14 14:38:00

+0

编辑我的答案 – Shubhank 2012-03-14 15:19:27

4

保存图片到DocumentDirectory

NSString *imageName = "myImage.png"; 
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString * documentsDirectoryPath = [paths objectAtIndex:0]; 

NSString *dataPath = [documentsDirectoryPath stringByAppendingPathComponent:imageName]; 
NSData* settingsData = UIImagePNGRepresentation(imageData); 

[settingsData writeToFile:dataPath atomically:YES]; 

编辑:

如果您希望看到在iPhone/iPad上保存的图像(或共享)中有iTunes> Apps->文档 突出部分添加Info.plist“应用程序支持iTunes文件共享”:“是”