作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想在拍照后在 UIImagepickercontroller 中获取 URL 图片。我在 didFinishPickingMedia 中使用了以下代码..
NSData *webData = UIImagePNGRepresentation(image);
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *localFilePath = [documentsDirectory stringByAppendingPathComponent:png];
[webData writeToFile:localFilePath atomically:YES];
NSLog(@"localFilePath.%@",localFilePath);
UIImage *image1 = [UIImage imageWithContentsOfFile:localFilePath];
但在控制台打印(null)
你能告诉我吗?谢谢
最佳答案
图像选择器有两个成功委托(delegate)方法如下:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo;
// This is Deprecated in ios 3.0
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;
在我看来,您使用的是第一种方法(您没有提到该方法,但我想让您知道)。在这种情况下,您必须将实现更改为第二种方法。
要访问 UIImage 并将其存储到某个路径,请使用以下方法:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
//Zoomed or scrolled image if picker.editing = YES;
UIImage *editedImage = [info objectForKey:UIImagePickerControllerEditedImage];
// Original Image
UIImage *OriginalImage = [info objectForKey:UIImagePickerControllerOriginalImage];
// You can directly use this image but in case you want to store it some where
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *filePath = [docDirPath stringByAppendingPathComponent:@"myImage.png"];
NSLog (@"File Path = %@", filePath);
// Get PNG data from following method
NSData *myData = UIImagePNGRepresentation(editedImage);
// It is better to get JPEG data because jpeg data will store the location and other related information of image.
[myData writeToFile:filePath atomically:YES];
// Now you can use filePath as path of your image. For retrieving the image back from the path
UIImage *imageFromFile = [UIImage imageWithContentsOfFile:filePath];
}
希望这对你有帮助:)
关于iphone - 如何在 UIImagepickercontroller 中获取 URL 图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17273446/
我是一名优秀的程序员,十分优秀!