从/到字符串保存和加载UIImage

时间:2011-02-28 07:20:16

标签: iphone objective-c ipad uiimage nsdata

使用其他问题的http://www.ifans.com/forums/showthread.php?t=132024帖子,我允许用户输入签名。当用户完成输入签名后,我想将其保存到数据库中。我想知道是否可以将UIImage保存到字符串中?而且还从字符串重新加载UIImage?

提前致谢

3 个答案:

答案 0 :(得分:4)

您应该将UIImage对象保存为Base64字符串:

  1. 使用UIImageJPEGRepresentation将<{1}}转换为UIImage

  2. NSData转换为Base64字符串,然后将编码后的字符串保存到数据库中。

  3. 要加载图像,请反转该过程。

    1. 从保存的Base64编码字符串创建NSData对象。

    2. 使用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];