use*_*614 9 uiimage nsdata ios
我必须从数据库中填充表格单元格,并且图像在设备上.我要存储该图像imageDataObject,如何将其转换UIImage为NSData.请建议,我尝试了许多解决方案,但它不转换回该NSData给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];
Run Code Online (Sandbox Code Playgroud)
Jam*_*enn 18
要转换UIImage为NSData,请使用UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality)或UIImagePNGRepresentation(UIImage *image)
要转换NSData为UIImage,请使用[UIImage imageWithData:imageData]
所以你的例子看起来像这样:
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];
Run Code Online (Sandbox Code Playgroud)
参考文献: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
试试这个:
用它来转换UIImage为NSData.
NSData *imagedata = UIImagePNGRepresentation(thumbnail);
Run Code Online (Sandbox Code Playgroud)
尝试将此图像数据转换回来 UIImage
UIImage *image= [UIImage imageWithData:imagedata];
Run Code Online (Sandbox Code Playgroud)