使用其他问题的http://www.ifans.com/forums/showthread.php?t=132024帖子,我允许用户输入签名。当用户完成输入签名后,我想将其保存到数据库中。我想知道是否可以将UIImage保存到字符串中?而且还从字符串重新加载UIImage?
提前致谢
答案 0 :(得分:4)
您应该将UIImage
对象保存为Base64字符串:
使用UIImageJPEGRepresentation将<{1}}转换为UIImage
将NSData
转换为Base64字符串,然后将编码后的字符串保存到数据库中。
要加载图像,请反转该过程。
从保存的Base64编码字符串创建NSData对象。
使用NSData
初始化[UIImage initWithData]
对象。
答案 1 :(得分:3)
是的,您可以将其表示为NSData
,然后将其转换为NSString
:
NSData *imageData = UIImagePNGRepresentation(yourPNGImage);
NSString *imageString = [[NSString alloc] initWithBytes: [imageData bytes] length:[imageData length] encoding:NSUTF8StringEncoding];
如果是jpeg图片,您可以轻松使用UIImageJPEGRepresentation
而不是UIImagePNGRepresentation
。
答案 2 :(得分:2)
NSData *data = UIImageJPEGRepresentation(Imagename, 1.0f);
NSString *imageString = [NSString stringWithFormat:@"%@",data];