在目标c中,
我需要将UIImage转换为符合以下类型的内容:
const unsigned char myImg[6300] = { 0xff,0xff,0xff,0xff,0xff,0xff,0x0,0x0,0x0,
0x0,0xff,0xff,0x0,0x0,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff,0xff,
0xff,0xff,0xff,0xff,0xff,0x0,0x0,0xff,0xff, etc etc etc }
我已阅读NSData文档,并尝试:
self.animalImage = [UIImage imageNamed:@"animal.png"];
self.animalData = UIImagePNGRepresentation(self.animalImage);
NSUInteger size = [self.animalData length] / sizeof(unsigned char);
unsigned char* array = (unsigned char*) [self.animalData bytes];
但结果是垃圾或零,我需要它完全匹配上述格式。有什么想法吗?提前感谢任何提示!
答案 0 :(得分:0)
你说你的结果是"垃圾或者没有"但文档说它将返回图像的字节数据,如果遇到错误则返回nil。
我不知道如何使用相同的图像生成不同的结果,所以我猜测你尝试了一些不同的图像,其中一些可能不是PNG图像。它无法正确解析的那些返回nil
和"垃圾"你描述的可能实际上是你想要的数据。
获得NSData*
个实例后,您可以使用enumerateByteRangesUsingBlock
构建所需的新阵列。