LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1564|回复: 5

Linux 下有将各种图片格式转换为 raw data,甚至直接生成 C 数组的工具吗?[RESOLVED]

[复制链接]
发表于 2009-5-14 02:04:39 | 显示全部楼层 |阅读模式
如题,Windows下面是有一个这样的工具的,不过忘记名字了。
输入图片,直接就生成了C语言的数组了代码了,
不知道 Linux 下有没有这样的工具,Gimp 可以吗?
发表于 2009-5-14 03:39:40 | 显示全部楼层
问得那么辛苦,直接打开 GIMP 看看就知道啦。

我很负责任的告诉你,GIMP 支持的。
回复 支持 反对

使用道具 举报

发表于 2009-5-14 03:48:23 | 显示全部楼层
你是想把图片直接嵌入程序吧。想法很单纯朴实,不过大家实际上用的办法一般是不改图片格式,写Makefile将图片直接链接到执行文件中,然后用对应图片库函数来打开。
工具的名字叫bin2o,这是游戏开发的常用工具,代码很好找,我用来开发Wii游戏机的小程序,好多PS2/PSP开发者也用这个,跨很多平台。具体用法读读这两个帖子就行了
http://forums.ps2dev.org/viewtopic.php?t=3528
http://forums.ps2dev.org/viewtopic.php?t=5364

这么做的好处有四
一、没有字节序问题,跨平台方便。
二、占用空间小,数据不会因转换出现各种改变、损失。
三、图片更新之后,直接make就可以生成新程序。
四、图片出现问题容易检查,面对一堆C数组可就没办法了。
回复 支持 反对

使用道具 举报

发表于 2009-5-14 08:38:05 | 显示全部楼层
任何二进制文件直接 xxd -i 就可以生成 C 语言文件了。所以这个环节不用操心。

但是在此之前你需要手工将图片转换成位图。这个似乎也没什么难度,imagemagick 之类的工具可以做到。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-14 11:55:57 | 显示全部楼层
Post by 没本;1986965
你是想把图片直接嵌入程序吧。想法很单纯朴实,不过大家实际上用的办法一般是不改图片格式,写Makefile将图片直接链接到执行文件中,然后用对应图片库函数来打开。
工具的名字叫bin2o,这是游戏开发的常用工具,代码很好找,我用来开发Wii游戏机的小程序,好多PS2/PSP开发者也用这个,跨很多平台。具体用法读读这两个帖子就行了
http://forums.ps2dev.org/viewtopic.php?t=3528
http://forums.ps2dev.org/viewtopic.php?t=5364

这么做的好处有四
一、没有字节序问题,跨平台方便。
二、占用空间小,数据不会因转换出现各种改变、损失。
三、图片更新之后,直接make就可以生成新程序。
四、图片出现问题容易检查,面对一堆C数组可就没办法了。

非常感谢!提供了一个好的思路。

不过我的程序是系统的引导程序,类似PC上的BIOS,这个图是BIOS的图标,只需要一个就够了,所以还是 Poet 的方式最好的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-14 11:56:40 | 显示全部楼层
Post by poet;1987006
任何二进制文件直接 xxd -i 就可以生成 C 语言文件了。所以这个环节不用操心。

但是在此之前你需要手工将图片转换成位图。这个似乎也没什么难度,imagemagick 之类的工具可以做到。


感谢 Poet,这样的回复最有价值,无废话。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表