1

在我的一个应用程序中使用的 SDK 中有一些图像。这些图像不仅被列为图像文件,而且被列为十六进制编码字符串,例如:

unsigned char MASTCloseButton_png[] = {
  0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,
  0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x38,
  0x08, 0x06, 0x00, 0x00, 0x00, 0xa8, 0x86, 0x3b, 0x1e, 0x00, 0x00, 0x00,
  0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x2e, 0x23, 0x00, 0x00, 0x2e,
  0x23, 0x01, 0x78, 0xa5, 0x3f, 0x76, 0x00, 0x00, 0x0a, 0x4d, 0x69, 0x43,
};

不,我想在此 SDK 中调整此图像,但不幸的是,我不知道如何将我的 .png 文件转换为上面列出的十六进制字符串。

是否有任何工具可以将我的 .png 图像(具有透明度)转换为十六进制字符串?

4

1 回答 1

1

尝试使用以下代码:

NSData *imageData = [[NSData alloc]initWithData:UIImagePNGRepresentation(myImage.image)];
NSString *imageStr = [GTMBase64 stringByEncodingData:imageData];

或遵循:

http://kelp.phate.org/2012/05/high-performance-hex-encode-in.html

于 2013-07-17T14:42:54.480 回答