Convert UIImage to NSData and return to UIImage

I need to populate a table cell from the database, and the images on the device. I have to save this image to imageDataObject , how to convert this UIImage to NSData . Please suggest, I tried many solutions, but did not convert NSData back to UIImage .

  cell.textLabel.text = [[offlineImageListArray objectAtIndex:indexPath.row] imageName]; UIImage *thumbnail = [self retrieveImageFromDevice:[[offlineImageListArray objectAtIndex:indexPath.row] imageName]]; NSData* data = ??????????; ImageData *imageDataObject = [[ImageData alloc] initWithImageId:[[offlineImageListArray objectAtIndex:indexPath.row]imageId] imageName:[[offlineImageListArray objectAtIndex:indexPath.row] imageName] imageData:data]; [imagesArray addObject:imageDataObject]; 
+9
ios uiimage nsdata
Nov 16 '13 at 0:40
source share
5 answers

To convert UIImage to NSData , use either UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality) or UIImagePNGRepresentation(UIImage *image)

To convert NSData to UIImage , use [UIImage imageWithData:imageData]

So your example might look like this:

 cell.textLabel.text = [[offlineImageListArray objectAtIndex:indexPath.row] imageName]; UIImage *thumbnail = [self retrieveImageFromDevice:[[offlineImageListArray objectAtIndex:indexPath.row] imageName]]; NSData* data = UIImagePNGRepresentation(thumbnail); ImageData *imageDataObject = [[ImageData alloc] initWithImageId:[[offlineImageListArray objectAtIndex:indexPath.row]imageId] imageName:[[offlineImageListArray objectAtIndex:indexPath.row] imageName] imageData:data]; [imagesArray addObject:imageDataObject]; 

Links: https://developer.apple.com/LIBRARY/IOS/documentation/UIKit/Reference/UIKitFunctionReference/Reference/reference.html https://developer.apple.com/Library/ios/documentation/UIKit/Reference/UIImage_Class /Reference/Reference.html

+18
Nov 16 '13 at 5:57 on
source share

Try:

Use this to convert UIImage to NSData .

  NSData *imagedata = UIImagePNGRepresentation(thumbnail); 

Try this to convert image data back to UIImage

  UIImage *image= [UIImage imageWithData:imagedata]; 
+9
Nov 16 '13 at 5:29
source share

in the Swift version:

  let imageData = UIImagePNGRepresentation(image!)! let imageFromData = UIImage(data: imageData) 
+3
May 14 '16 at 3:32
source share

Use an if-let data block to prevent application crashes and safe code execution, since the UIImagePNGR function represents a new value.

 if let img = UIImage(named: "TestImage.png") { if let data:Data = UIImagePNGRepresentation(img) { // Handle operations with data here... } } 

Note. Data is a Swift 3 class. Use data instead of NSData with Swift 3

Common image operations (e.g. png and jpg):

 if let img = UIImage(named: "TestImage.png") { //UIImage(named: "TestImage.jpg") 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... } } 

Using the extension:

 extension UIImage { var pngRepresentationData: Data? { return UIImagePNGRepresentation(img) } var jpegRepresentationData: Data? { return UIImageJPEGRepresentation(self, 1.0) } } ******* if let img = UIImage(named: "TestImage.png") { //UIImage(named: "TestImage.jpg") if let data = img.pngRepresentationData { handleOperationWithData(data: data) } else if let data = img.jpegRepresentationData { handleOperationWithData(data: data) } } ******* func handleOperationWithData(data: Data) { // Handle operations with data here... if let image = UIImage(data: data) { // Use image... } } 
0
Oct 25 '17 at 17:08
source share

Convert data from image:

Try a JPEG or PNG view depending on your image format:

UIImageJPEGRepresentation

Returns data for the specified JPEG image.

 NSData * UIImageJPEGRepresentation ( UIImage *image, CGFloat compressionQuality ); 

UIImagePNGRepresentation

Returns data for the specified PNG image

 NSData * UIImagePNGRepresentation ( UIImage *image ); 

Example:

 extension UIImage { var pngRepresentationData: Data? { return UIImagePNGRepresentation(img) } var jpegRepresentationData: Data? { return UIImageJPEGRepresentation(self, 1.0) } } 

Using:

 let data = myImage.jpegRepresentationData let data1 = myImage.pngRepresentationData 

Convert image from data:

 let image = UIImage(data: data) 
0
Apr 27 '19 at 6:35
source share



All Articles