我想加載UIImage
對象NSData
,示例代碼是NSImage
,我猜他們應該是一樣的。但現在剛剛加載圖像,我想知道什麼是最好的解決UIImage
加載NSData
問題。NSData和UIImage
58
A
回答
43
UIImage有一個 - initWithData:
方法。從文檔:「數據參數中的數據必須格式化以匹配系統支持的圖像類型之一的文件格式。」
3
該數據應該是一個已經包含數據的NSData
對象。在使用它之前,您需要將文件加載/下載到NSData
對象。您可以通過在數據上使用NSLog
來檢查它是否包含有效數據。
105
我沒有嘗試UIImageJPEGRepresentation()
過,但UIImagePNGRepresentation
對我的作品的罰款,並轉換NSData
和UIImage
之間是死的簡單:
NSData *imageData = UIImagePNGRepresentation(image);
UIImage *image=[UIImage imageWithData:imageData];
21
嘗試使用此方法將圖像轉換爲NSData的:
UIImage *img = [UIImage imageNamed:@"image.png"];
NSData *data1 = UIImagePNGRepresentation(img);
0
爲了安全地執行代碼,使用帶數據的if-let塊,作爲函數UIImagePNGRepresentation返回可選值。
if let img = UIImage(named: "Hello.png") {
if let data:Data = UIImagePNGRepresentation(img) {
// Handle operations with data here...
}
}
注:數據是斯威夫特3類。使用數據,而不是NSData的與 斯威夫特3個
通用圖像操作(如png格式& JPG兩種):
if let img = UIImage(named: "Hello.png") {
if let data:Data = UIImagePNGRepresentation(img) {
handleOperationWithData(data: data)
} else if let data:Data = UIImageJPEGRepresentation(img, 1.0) {
handleOperationWithData(data: data)
}
}
*******
func handleOperationWithData(data: Data) {
// Handle operations with data here...
if let image = UIImage(data: data) {
// Use image...
}
}
通過使用擴展:
extension UIImage {
var pngRepresentationData: Data? {
return UIImagePNGRepresentation(img)
}
var jpegRepresentationData: Data? {
return UIImageJPEGRepresentation(self, 1.0)
}
}
*******
if let img = UIImage(named: "Hello.png") {
if let data = img.pngRepresentationData {
handleOperationWithData(data: data)
} else if let data = jpegRepresentationData {
handleOperationWithData(data: data)
}
}
*******
func handleOperationWithData(data: Data) {
// Handle operations with data here...
if let image = UIImage(data: data) {
// Use image...
}
}
相關問題
- 1. NSData - > UIImage - > NSData
- 2. NSData到UIImage
- 3. NSData加載UIImage
- 4. 從NSData UIImage轉換
- 5. 將NSData [UIImage]轉換爲NSString
- 6. 從UIImage獲取底層NSData *
- 7. 轉換UIimage(拍照)到NSData
- 8. UIImage神祕地轉換爲NSData
- 9. 從NSData UIImage以錯誤的方向
- 10. 無法使用UIImage形成NSData
- 11. 將UIImage的NSData表示轉換爲NSImage
- 12. 如何NSData的值轉換爲UIImage的
- 13. 如何處理NSData並返回UIImage(Swift)
- 14. NSData格式的跨平臺UIImage NSImage
- 15. 轉換的NSData到的UIImage - 用的NSURLRequest
- 16. UITableView中的NSData的UIImage - 性能問題
- 17. 將NSData/UIImage轉換爲字符串
- 18. UIImage的NSData的有沒有大小
- 19. 如何從NSData創建UIImage和XMPP的頭像數據?
- 20. ObjC - 通過使用NSData和NSURLRequest發佈UIImage?
- 21. 轉換CGImageRef圖像圖像和的UIImage到NSData的
- 22. 在UIImage的內存大小和它的NSData之間有什麼區別嗎?
- 23. 從nsdata NSInvalidArgumentException'回推圖像',原因:' - [UIImage length]
- 24. 的NSString的NSData到UIImage的,反之亦然轉換
- 25. 指定從NSData加載的UIImage的縮放比例
- 26. 在UIWebView中載入UIImage格式的NSData,並居中它
- 27. 將UIImage上的蒙版轉換爲NSData時保留蒙版
- 28. 如何從NSData的創建圖像的UIImage異步
- 29. 有沒有辦法檢測UIImage/NSData是否爲動畫/ GIF?
- 30. 從NSData加載的UIImage僅在新iPad上顯示黑色3
是的,那是我在用。 NSData具有地址,而在調用UIImaeg -initWithData:theData之後,該點變爲0.我不確定在哪裏看到錯誤消息。 – BlueDolphin 2008-11-03 00:24:22