2015-10-12 56 views
0

在我的应用程序中,我拍照并使用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

只需在您的块中使用此功能。 'UIImagePNGRepresentation(image)' –

回答

1

由于ALAssetsLibrary已过时,你应该使用照片库中。看下面的代码示例。

PHPhotoLibrary.sharedPhotoLibrary().performChanges({ 

    let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image) 

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

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

如果您需要将图像转换为NSData的,你可以简单地使用(如@指出的if-else开关)

UIImagePNGRepresentation(image) 

希望帮助!

+0

谢谢你。这个对我有用! – Marina

+0

这将创建新的图像吗? – Ryuk

+0

@Ryuk是的,它会 – mohonish

0

对于照片/视频操作:

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