将图像数据转换为字符数组

时间:2010-01-24 22:06:40

标签: iphone image character-arrays

我正在为iPhone构建移动广告sdk,我认为存储代表着陆页控制器[在库中]的按钮图标的图像的唯一方法是将图像转换为字符数组。

当我将内联字符数组定义为:

const char backButtonData[] = { 0x00, 0x01, 0xFF, ... };

......我可以像这样访问它:

UIImage *backButtonImage = [UIImage imageWithData:[NSData dataWithBytesNoCopy:backButtonData length:sizeof(backButtonData) freeWhenDone:NO]];

...并使用这些图标图像设置控制器的工具栏按钮。

我一直希望找到一个脚本来获取图像数据并吐出一个字符数组,但空手而归,所以我已经尝试过自己但却失败了。

我需要[希望]是一个从以下数据中获取数据的脚本或函数:

NSData * imageData = UIImagePNGRepresentation(image);

并吐出这种格式:

0x00,0x01,0xFF,...所以我可以复制并将其复制到我的源文件中。

任何想法[或链接到将执行此操作的脚本或工具]?;

2 个答案:

答案 0 :(得分:4)

我认为您应该考虑使用UIImage类方法+(UIImage*)imageNamed:(NSString *)name,它将为您加载图像文件。

但是如果你真的想将一个图像文件嵌入你的应用程序作为char数组,请查看xxd命令行工具及其-i选项。

答案 1 :(得分:1)

非常感谢epatel,这篇文章也让我有些挣扎。

xxd -i

非常适合创建二进制数据的char数组。