2

我正在使用网络服务来检索数据。但我无法将数据转换为图像。我正在从服务器接收数据,但是当我转换为图像时,它显示为空。

4

4 回答 4

18

将 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);
于 2013-09-29T13:30:44.760 回答
3
UIImage *image = [UIImage imageWithData:data];
于 2013-09-29T13:30:23.877 回答
1

退房UIImage *image = [UIImage imageWithData:...];。我很好奇你现在用的是什么?

于 2013-09-29T13:29:32.830 回答
1

在您的一条评论中,您建议将图像“存储在字符串中”。如果是这种情况,则图像可能已经过 base64 编码(一种在字符串中表示二进制数据的常用机制)。您应该与此 SOAP 服务的提供者澄清这一点。

如果它已被转换为 base64 字符串,那么您必须先将其转换回原始二进制格式,然后才能使用imageWithData等。针对如何在 iphone-sdk 上进行 base64 编码?

于 2013-09-29T15:00:40.527 回答