我以char *的形式获取图像数据(存储在sql server上)。我想将这些数据转换为NSData以在UIImage视图中显示图像。 char * data是源图像的bytearray。 如何将char *转换为NSData以显示以获取在UIImageView中显示的UIImage实例?
谢谢..
答案 0 :(得分:2)
假设:
unsigned char *myImageData;
NSUInteger myImageDataLength;
myImageData
是JPEG,PNG或其他UIImage支持格式的图片,请使用:
-(UIImage*)myImage {
return [UIImage imageWithData:[NSData dataWithBytes:myImageData length:myImageDataLength]];
}
如果您的char数据是Base64编码,请查看http://www.cocoadev.com/index.pl?BaseSixtyFour。
我已经使用来自网络服务的数据和烘焙图像完成了这项工作。例如:
// Note hex = ".PNG..", the start of the PNG header.
static unsigned char myImageData[] = { 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a,... };
长度是图像文件大小,可以使用以下颜色从图像文件创建十六进制值:
hexdump -e ' 16/1 "0x%02x, " "\n"' MyImage.png