2015-10-12 7 views
0

В моем приложении я делаю фото, а затем сохраняю URL-адрес, используя ALAssetsLibrary. Этот код выглядит так:Как я могу конвертировать фото (или видео) с камеры в NSData?

ALAssetsLibrary().writeImageToSavedPhotosAlbum(image.CGImage, orientation: ALAssetOrientation(rawValue: image.imageOrientation.rawValue)!, 
       completionBlock:{ (path:NSURL!, error:NSError!) -> Void in 
        if(error == nil){ 
          path.save() 
          //....... 
        } 
      }) 

Мне нужно преобразовать фотографию, которую я взял в объект NSData. Итак, как я могу подставить этот код в соответствии с рекомендациями IOS 9.0 (я знаю, что ALAssetsLibrary устарела в IOS 9)? И как я могу преобразовать свою фотографию в объект NSData?

+0

Просто используйте эту функцию в своем блоке. 'UIImagePNGRпредставление (изображение)' –

ответ

1

С ALAssetsLibrary устарела, вы должны использовать библиотеку фотографий. См. Ниже пример кода.

PHPhotoLibrary.sharedPhotoLibrary().performChanges({ 

    let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image) 

    }, completionHandler: { (success, error) -> Void in 

    if success { 
     //image saved to photos library. 
    } 
}) 

Если вам необходимо преобразовать изображение в NSData, вы могли бы просто использовать (как указывал @, если-иначе-переключатель)

UIImagePNGRepresentation(image) 

Надежда, что помогает!

+0

Спасибо u. Меня устраивает! – Marina

+0

Это создаст новое изображение? – Ryuk

+0

@Ryuk да это будет – mohonish

0

Для Фото/Видео Сделайте это:

UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:@"url"]]];