Как получить путь к изображению из библиотеки фотографий и как получить изображение из библиотеки фотографий в iphone? - PullRequest
10 голосов
/ 15 октября 2011

Я новичок в 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.Но я не могу получить его imagepath.Я использую nslog ("% @", imageview.image);в консоли отображается «Путь к изображению =».Как я могу получить его путь и как получить фотографии из библиотеки фотографий.Любое тело поможет мне.Заранее спасибо.

Ответы [ 3 ]

19 голосов
/ 15 октября 2011

UIImagePickerControllerOriginalImage возвращает только данные изображения без ссылки на его локальное хранилище.Я сам этим не пользовался, но думаю, что вы ищете

NSURL* localUrl = (NSURL *)[info valueForKey:UIImagePickerControllerReferenceURL];

По крайней мере, это единственный известный мне способ получить любой URL.

Чтобы получить изображение, посмотрите на этот вопрос. Но имейте в виду, что у вас уже есть изображение, полученное с помощью

UIImage* image=(UIImage*)[info objectForKey:@"UIImagePickerControllerOriginalImage"];

, поэтому спросите себя, действительно ли вам это нужно.

2 голосов
/ 21 декабря 2016

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
})
0 голосов
/ 20 июня 2012

Нет способа получить путь к фотографиям из фотоБиблиотеки.

Но вы можете получить фотографии из фотоБиблиотеки. Просто используйте UIImagePickerControllerSourceTypePhotoLibrary вместо UIImagePickerControllerSourceTypeSavedPhotosAlbum .

...