2017-03-08 59 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

相關問題