如何将照片(或视频)从相机转换为 NSData?
How can I convert photo (or video) from camera to NSData?
在我的应用程序中,我拍照然后使用 ALAssetsLibrary 将 url 保存到它。此代码如下所示:
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 对象?
对于 Photo/Video 这样做:
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:@"url"]]];
由于 ALAssetsLibrary 已弃用,您应该使用照片库。请参阅下面的代码示例。
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
}, completionHandler: { (success, error) -> Void in
if success {
//image saved to photos library.
}
})
如果您需要将图像转换为 NSData,您可以简单地使用(如 @if-else-switch 所指出的)
UIImagePNGRepresentation(image)
希望对您有所帮助!
在我的应用程序中,我拍照然后使用 ALAssetsLibrary 将 url 保存到它。此代码如下所示:
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 对象?
对于 Photo/Video 这样做:
UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:@"url"]]];
由于 ALAssetsLibrary 已弃用,您应该使用照片库。请参阅下面的代码示例。
PHPhotoLibrary.sharedPhotoLibrary().performChanges({
let assetRequest = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
}, completionHandler: { (success, error) -> Void in
if success {
//image saved to photos library.
}
})
如果您需要将图像转换为 NSData,您可以简单地使用(如 @if-else-switch 所指出的)
UIImagePNGRepresentation(image)
希望对您有所帮助!