刚拿到TI Cotex-M4的开发板, 玩了一下感觉非常爽~早就对TI的图形库有所耳闻, 赶紧用IAR写了个程序试一下~程序很简单, 就是显示一张图片, 高手不要喷哈~
主要是说一下如何制作TI图形库支持的图片数据. 首先把要显示的图片用Photoshop打开(不好意思我的PS是英文版的, 估计大家也能看懂). 做成合适的大小(开发板上是96*64的OLED屏幕, 我就做成了这个大小), 然后点Image-Mode-Indexed color, 在弹出的对话框中, 根据图片的实际情况设置颜色数, 我要显示的是一张Lena女神的照片, 就保留了256色的默认设置. 如果您要显示的是颜色数不多的Logo的话, 可以在这里设置颜色数以减少图片占用的Flash空间. 点击确定后, 可能会提示你合并图层, 合并即可. 如果成功, 会看到图层面板只有一个图层, 名为Index.
下面的一步比较关键, 我们在Image-Mode菜单中将图片再改回RGB模式. 这样做的原因一会儿再解释. 然后保存图片,格式选择”Portable Bit Map”, 就会存出一个pbm格式的文件.
下面我们要使用图形库提供的工具pnmtoc来转换这个图片, 使其生成可以编译的C代码. 这个工具的具体使用说明可以参见手册, 这里直接用了, 命令是:
pnmtoc -c image.pnm > image.c
命令执行完后, 打开生成的image.c查看一下, 如果是一个大数组的话就没错了. 如果是英文提示的话就是有问题. 这个工具最多支持转换256色的图像, 颜色数超过256色就会出错. 我们之前将图片转为256色再改回RGB模式, 就是为了降低图片的颜色数. 如果不转索引颜色, RGB直接保存, 转换成.c时会提示颜色数过多. 如果转成索引颜色不改回RGB的话, 则无法保存成pbm格式.
另外提一点, 工具接受pnm格式的文件, PS保存的是pbm格式, 这其实是同一种格式, 后缀名不同而已.
生成的.c文件就可以加到工程里了. 在要用的地方加一个extern的外部变量就能引用到它. 代码比较简单, 直接下了看就行.
最后是一点跟图形库无关的小插曲. 我编译时出现了连接错误, 所有ROM_开头的函数都找不到定义. 解决方法是在工程选项中添加一个预定义的宏TARGET_IS_BLIZZARD_RA1, 这样才能正常的调用ROM函数. 当然也可以之前去掉这些ROM前缀, 使用驱动库中的函数.
[
本帖最后由 kqkq 于 2012-7-15 15:27 编辑 ]