我需要一个方法来转换NSString中的UIImage,然后将NSString转换回UIImage。
感谢。
答案 0 :(得分:10)
for> = IOS 7
- (NSString *)imageToNSString:(UIImage *)image
{
NSData *imageData = UIImagePNGRepresentation(image);
return [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
}
- (UIImage *)stringToUIImage:(NSString *)string
{
NSData *data = [[NSData alloc]initWithBase64EncodedString:string
options:NSDataBase64DecodingIgnoreUnknownCharacters];
return [UIImage imageWithData:data];
}
答案 1 :(得分:2)
将其转换为二进制流(NSData
)。这取决于UIImage
的格式。例如,如果它是JPEG / PNG,你可以:
NSData *data1 = UIImageJPEGRepresentation(image, 1.0);
NSData *data2 = UIImagePNGRepresentation(image);
更新:将二进制数据转换为NSString
是一个坏主意,这就是我们拥有类NSData
的原因。 OP希望能够将其作为数据流发送,然后再次重建;这不需要NSString
。
答案 2 :(得分:0)
使用UIImagePNGRepresentation或UIImageJPEGRepresentation转换为PNG或JPEG,它将返回NSData,然后将NSData转换为字符串(不确定如何进行映射)。如何处理NSData?您可以将其读/写到文件中。