2017-03-08 26 views
0

下面是我使用的代码:为什么TIFFRepresentation比实际的图像文件大?

NSImage *image = [[NSBundle bundleForClass:[self class]] imageForResource:@"test.jpg"]; 
NSData *originalData = [image TIFFRepresentationUsingCompression:NSTIFFCompressionJPEG factor:1.]; 

originalData.length给我1802224个字节(1.7MB)。而磁盘上的图像大小是457KB。为什么TIFFRepresentation变得更大,以及为了获得原始图像(我想通过网络传输图像)我应该使用哪种表示形式?

回答

3

TIFF比JPEG大得多。那里没有什么惊喜

但是,您的实际问题的答案是:不要使用任何“表示”。你的的数据(即文件本身);发送!不要将图像文件转换为NSImage;抓住它作为一个NSData。

+0

hm。所以基本上,在用户拖放图像的场景中,我只需要对被拖放的文件进行额外引用,并在图像旁边使用(用于UI)。 – peetonn

+1

您可以制作图像的JPEG表示,但是当磁盘上的文件是JPEG时,这看起来很浪费。 – matt

相关问题