实例如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) { UIImageWriteToSavedPhotosAlbum(image,self,@selector(image:didFinishSavingWithError:contextInfo:),NULL); } } - (void)image:(UIImage*)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo { if (error) { DLog(@"图片保存失败!"); }else{ DLog(@"图片保存成功!"); } } 此方法可以把其他来源的图片也可保存到相册 //当image从相机中获取的时候存入相册中 //保存方法1 // UIImageWriteToSavedPhotosAlbum(img.image,self,@selector(image:didFinishSavingWithError:contextInfo:),NULL); // imageData = nil; WEAKSELF //保存方法2同时获取保存的相片文件名 __blockALAssetsLibrary *lib = [[ALAssetsLibraryalloc] init]; [lib writeImageToSavedPhotosAlbum:img.image.CGImagemetadata:nilcompletionBlock:^(NSURL *assetURL,NSError *error) { ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *imageAsset) { ALAssetRepresentation *imageRep = [imageAssetdefaultRepresentation]; weakSelf.imageName = [NSStringstringWithFormat:@"%@",[imageRepfilename]]; NSLog(@"[imageRep filename 1] : %@", [imageRepfilename]); DBLog(@"self.addressImageName照相0 = %@",weakSelf.imageName); commitBlock(img.image,UIImageJPEGRepresentation(img.image,0.5),self.imageName); }; ALAssetsLibrary* assetslibrary = [[ALAssetsLibraryalloc] init]; [assetslibrary assetForURL:assetURLresultBlock:resultblock failureBlock:nil]; NSLog(@"assetURL = %@, error = %@", assetURL, error); lib = nil; }]; }]; |
以上这篇iOS 把图片保存到相册,并获取图片文件名的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/sevenquan/article/details/59094983