2012-12-03 60 views
0

我有一个NSData对象,它应该包含TIFF格式的图像数据。 Here是输出示例(位于左上方框中)。来自NSData信息的NSImage

然而,当我NSLog出来,我得到如下:

<NSImage 0x10013f620 Size={200, 200} Reps=(
    "NSBitmapImageRep 0x1001220d0 Size={200, 200} ColorSpace=(not yet loaded) BPS=8 BPP=(not yet loaded) Pixels=200x200 Alpha=NO Planar=NO Format=(not yet loaded) CurrentBacking=nil (faulting) CGImageSource=0x100150070" 
)> 

这让我的东西它实际上可能是一个BitmapImage的。

不管怎么说,当我做到以下几点:

NSData *artworkData; 
NSImage *image; 
artworkData = [self.currentTrack artwork]; // actually sets memory, like expected 
image = [[NSImage alloc] initWithData:artworkData]; // causes the error 

我得到这个错误:

2012-12-03 02:39:56.263 test[92556:303] -[NSImage length]: unrecognized selector sent to instance 0x10064ec90 
2012-12-03 02:39:56.264 test[92556:303] -[NSImage length]: unrecognized selector sent to instance 0x10064ec90 

任何想法?这已经困扰了我很长一段时间了。

谢谢!

+0

什么是艺术品数据?你的意思是数据吗?那么.SOMETHING做什么?你应该在这里给出更多的细节,你不应该改变你的代码为stackoverflow。这只会增加额外错误的风险,并可能误导那些尝试帮助的人。 –

+0

@HermannKlecker调整后,道歉的混乱。 – Connor

+1

你确定你正在处理一个'NSData'对象吗?你'NSLog's的东西不是数据,它已经是'NSImage'了。也许你可以指定你记录的是什么? – waldrumpus

回答

1

你确定你正在处理一个NSData对象吗?日志输出中的对象没有数据,它已经是一个NSImage。因此,试图将它用作-[NSImage initWithData:]的参数将会失败。