在iPhone應用程序中,我使用標準HTTP請求從服務器加載JPG圖像。數據以NSData形式返回,我可以使用[UIImage imageWithData:responseData]
函數將其轉換爲UIImage。我的問題是,我可以將我的圖像的UIImage表示形式轉換回源於它的相同NSData嗎?我知道關於UIImageJPEGRepresentation()
函數,但我試着壓縮質量爲1,這給了我不同於原始NSData的東西。逆向NSData到UIImage轉換?
2
A
回答
3
我認爲(猜測,實際上)你的問題可能是因爲UIImage內部沒有以JPEG格式存儲。由於JPEG壓縮方式的作用,轉換回JPEG格式不太可能會給你完全相同的數據。是否有任何理由不能保持原有的NSData?
2
您應該使用UIImagePNGRepresentation(),並將文件作爲PNG發送到設備。 PNG在裝置上加載和保存效率更高。這是將字節數組(NSData)轉換爲圖像/從圖像轉換而來的standard method。
如果您被JPEG數據卡住,UIImageJPEGRepresentation()是將其恢復到NSData對象的正確方法。它可能不完全相同,這取決於Apple如何實現該方法,它可以在技術上仍然是相同的圖像(會呈現相同的)時更新一些數據。
相關問題
- 1. 轉換UIimage(拍照)到NSData
- 2. 從NSData UIImage轉換
- 3. 將NSData [UIImage]轉換爲NSString
- 4. 將UIImage轉換爲NSData
- 5. 轉換的NSData到的UIImage - 用的NSURLRequest
- 6. IPhone NSData到UIImage
- 7. NSData到UIImage
- 8. UIImage神祕地轉換爲NSData
- 9. 如何NSData的值轉換爲UIImage的
- 10. UIImage不能正確轉換NSData
- 11. 將UIImage的NSData表示轉換爲NSImage
- 12. 如何將UIImage轉換爲NSData或CFDataRef?
- 13. 如何將NSData轉換爲UIImage?
- 14. 將NSData/UIImage轉換爲字符串
- 15. NSData - > UIImage - > NSData?
- 16. NSData - > UIImage - > NSData
- 17. NSData到NSString轉換
- 18. 轉換的UIImage到NSData的,並與核心數據
- 19. 轉換CGImageRef圖像圖像和的UIImage到NSData的
- 20. 的NSString的NSData到UIImage的,反之亦然轉換
- 21. NSData到uiimage返回null
- 22. NSData和UIImage
- 23. NSData加載UIImage
- 24. 轉換MPMediaItem到NSData的
- 25. 轉換的NSData到NSString的
- 26. NSImage中轉換到NSData的
- 27. 轉換HEX NSString到NSData
- 28. 從NSData到NSImage的轉換
- 29. 轉換MPMediaItemCollection到NSData的
- 30. NSData到NSMutableData的轉換
我想這個問題類似於用PhotoShop重複打開和保存JPG。有損壓縮化合物,你永遠不會有相同的圖像。不想堅持NSData的原因是CoreData的性能(將其存儲爲BLOB)。但是,我剛剛遇到了http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/CoreData/Articles/cdPerformance.html,它概述了我的問題的解決方案。感謝您的輸入。 – chris