我正在为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,...所以我可以复制并将其复制到我的源文件中。
任何想法[或链接到将执行此操作的脚本或工具]?;
答案 0 :(得分:4)
我认为您应该考虑使用UIImage类方法+(UIImage*)imageNamed:(NSString *)name
,它将为您加载图像文件。
但是如果你真的想将一个图像文件嵌入你的应用程序作为char数组,请查看xxd
命令行工具及其-i
选项。
答案 1 :(得分:1)
非常感谢epatel,这篇文章也让我有些挣扎。
xxd -i
非常适合创建二进制数据的char数组。