【发布时间】:2013-10-05 09:24:09
【问题描述】:
我正在使用网络服务来检索数据。但我无法将数据转换为图像。我正在从服务器接收数据,但是当我转换为图像时,它显示为空。
【问题讨论】:
-
这必须在本网站的某个地方进行说明
-
向我们展示您的尝试。
-
显示你尝试过的代码?
标签: objective-c
我正在使用网络服务来检索数据。但我无法将数据转换为图像。我正在从服务器接收数据,但是当我转换为图像时,它显示为空。
【问题讨论】:
标签: objective-c
查看UIImage *image = [UIImage imageWithData:...];。我很好奇你现在用的是什么?
【讨论】:
UIImage *image = [UIImage imageWithData:data];
【讨论】:
将 NSData 转换为 UIImage :
NSData *data = ... // data that you received
UIImage *image = [UIImage imageWithData:data];
将 UIImage 转换为 NSData (png):
UIImage *image = [UIImage imageNamed:@"imageName.png"];
NSData *imageData = UIImagePNGRepresentation(image);
将 UIImage 转换为 NSData (jpg):
UIImage *image = [UIImage imageNamed:@"imageName.jpg"];
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
【讨论】:
在您的一个 cmets 中,您建议将图像“存储在字符串中”。如果是这种情况,则图像可能已经过 base64 编码(一种在字符串中表示二进制数据的常用机制)。您应该向该 SOAP 服务的提供者澄清这一点。
如果它已被转换为 base64 字符串,那么您必须先将其转换回原始二进制格式,然后才能使用imageWithData 等。回复How do I do base64 encoding on iphone-sdk?列出了多种base64替代方案
【讨论】: