保存图像元数据 PHPhotoLibrary 与 ALAssetsLibrary

Posted

技术标签:

【中文标题】保存图像元数据 PHPhotoLibrary 与 ALAssetsLibrary【英文标题】:Save Image metadata PHPhotoLibrary vs ALAssetsLibrary 【发布时间】:2017-05-12 09:07:16 【问题描述】:

在使用 ALAssetsLibrary 时,我曾经使用以下代码将图像保存到带有适当 exif 的照片库:

        NSInteger orientation = 2;// Or whatever
        NSData *jpegData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];

CMSetAttachment(imageDataSampleBuffer, kCGImagePropertyOrientation,
                [NSNumber numberWithInt: orientation],
                kCMAttachmentMode_ShouldPropagate);

    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];

    CFDictionaryRef attachments = CMCopyDictionaryOfAttachments(kCFAllocatorDefault, imageDataSampleBuffer, kCMAttachmentMode_ShouldPropagate);

    [library writeImageDataToSavedPhotosAlbum:jpegData metadata:(id)attachments completionBlock:^(NSURL *assetURL, NSError *error) 
          ...
          ...
     

不清楚在使用 phphotoLibrary 时如何翻译该代码。谁能提供正确的方法来保存附件以及 jpeg 图像?

【问题讨论】:

【参考方案1】:

使用 ImageIO 将元数据添加到您的 JPEG/PNG 图像中,如下文所述: Save the exif metadata using the new PHPhotoLibrary

【讨论】:

以上是关于保存图像元数据 PHPhotoLibrary 与 ALAssetsLibrary的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS9 中使用 PHPhotolibrary 将照片保存在带有元数据的相册中?

保存后获取与PHAsset相同的NSData

如何使用 PHPhotoLibrary 将视频/图像写入保存的相册?

如何从 PHPhotoLibrary 获取图像的位置?

text PHPhotoLibrary + SaveImage - 使用Photos Framework swift 3保存图像

CFDictionary 更新到 PHPhotoLibrary kCGImagePropertyExifDictionary 未采取