2

我正在为 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, ... 所以我可以将它复制并粘贴到我的源文件中。

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

4

2 回答 2

4

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

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

于 2010-01-24T22:21:00.617 回答
1

非常感谢 epatel,这篇文章也为我节省了一些困难。

xxd -i

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

于 2010-01-25T19:22:52.337 回答