将图像从MPMediaItemPropertyArtwork保存到NSDocument

时间:2012-11-21 09:50:06

标签: 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。 任何的想法?请帮忙。

1 个答案:

答案 0 :(得分:4)

对于一年的问题:

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

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