ios - 将图像从MPMediaItemPropertyArtwork保存到NSDocument

标签 ios cgimage nsdocument

目前,我想从音乐库(MPMedia)中获取专辑插图并将其另存为png或jpg文件。

这是我的代码:

UIImage *albumImage = [item valueForProperty:MPMediaItemPropertyArtwork];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [NSString stringWithFormat:@"%@/%@.png",documentsDirectory, titleWithID];
UIImage *image = albumImage; 
NSData *imageData = UIImagePNGRepresentation(image);
[imageData writeToFile:savedImagePath atomically:NO];

但是过程停止在NSData *imageData = UIImagePNGRepresentation(image)
我得到错误:

[MPConcreteMediaItemArtwork CGImage]:无法识别的选择器已发送到实例0x1ed33c80

显然,专辑封面是CGImage,我无法将其另存为png。
任何的想法?请帮忙。

最佳答案

一个老问题:

[[item valueForProperty:MPMediaItemPropertyArtwork] imageWithSize:CGSizeMake(320.0, 320.0)];

要从MPConcreteMediaItemArtwork获取UIImage,必须使用imageWithSize :,并指定图像尺寸。

关于ios - 将图像从MPMediaItemPropertyArtwork保存到NSDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13490464/

相关文章:

ios - 如何在不重置位置的情况下更改UIButton?

ios - 自动布局:删除 View 时相邻 View 的后备约束

ios - 使用 CGImage 的 JPEG 压缩质量

swift - CGImageSource 到 CGImage?

view - 从NS文档目录加载图像时, Collection View 崩溃

objective-c - 确定在基于 NSDocument 的应用程序中的“保存面板”中按下了哪个按钮

ios - SwiftUI - 根据条件添加导航栏按钮

ios - 将 UITextfield 问题转换为 NSMutableArray

arrays - CGImageDestinationAddImage 的意外行为根据我在 Swift 中的 UIImage var 的变化而变化

objective-c - 使用 ZIP 存档存储 NSDocument 数据