Как получить путь изображения из библиотеки фотографий и как получить изображение из библиотеки фотографий в iphone?
Я новичок в iphone. В моем маленьком приложении, как получить путь изображения из библиотеки фотографий. Я использую этот следующий код для получения изображений и размещения в представлении изображения.
-(IBAction) selectimage
{
UIImagePickerController *picker=[[UIImagePickerController alloc] init];
picker.delegate=self;
picker.sourceType=UIImagePickerControllerSourceTypeSavedPhotosAlbum;
[self presentModalViewController:picker animated:YES];
[picker release];
}
-(void) imagePickerController:(UIImagePickerController *)UIPicker didFinishPickingMediaWithInfo:(NSDictionary *) info
{
[UIPicker dismissModalViewControllerAnimated:YES];
imageview.image=[info objectForKey:"UIImagePickerControllerOriginalImage"];
NSLog("Image Path=%@",imageview.image);
}
Он успешно помещен в Imageview. Но я не могу получить свой путь изображения. Я использую nslog ( "% @", imageview.image); он показывает "Путь изображения =" в консоли.
Как я могу получить его путь и как получить фотографии из библиотеки фотографий. Любое тело помогает мне. Спасибо заранее.
Ответы
Ответ 1
UIImagePickerControllerOriginalImage
возвращает только данные изображения без ссылки на его локальное хранилище. Я не использовал его сам, но я предполагаю, что вы ищете
NSURL* localUrl = (NSURL *)[info valueForKey:UIImagePickerControllerReferenceURL];
По крайней мере, это единственный способ получить любой URL-адрес.
Чтобы получить изображение, просмотрите этот вопрос. Но также имейте в виду, что у вас уже есть изображение, полученное с помощью
UIImage* image=(UIImage*)[info objectForKey:@"UIImagePickerControllerOriginalImage"];
спросите себя, действительно ли вам это нужно.
Ответ 2
Swift 3.0, вы можете получить imageData из referenceURL следующим образом
let url = URL(string: "assets-library://asset/asset.JPG?id=1000000007&ext=JPG")
let asset = PHAsset.fetchAssets(withALAssetURLs: [url], options: nil)
guard let result = asset.firstObject else {
return nil
}
let imageManager = PHImageManager.default()
var imageData: Data? = nil
imageManager.requestImageData(for: result, options: nil, resultHandler: { (data, string, orientation, dict) in
imageData = data
})
Ответ 3
Невозможно получить путь к фотографиям из photoLibrary.
Но вы можете получить фотографии из photoLibrary. Просто используйте UIImagePickerControllerSourceTypePhotoLibrary вместо UIImagePickerControllerSourceTypeSavedPhotosAlbum.