GIMP 创建arm LCD上显示的图片

来源:互联网 发布:金枝玉叶电影知乎 编辑:程序博客网 时间:2024/06/11 01:25

1. 选取图片

选择正确分辨率的图片(本例800*480)。


2. 生成pnm

用GIMP打开图片,并且将其另存为pnm格式,在弹出对话框中选中ASCII.



3. 更改pnm内容

用记事本打开生成的pnm图片,将前四行删除。


4.插入数据,并生成BIN文件

由于测试ARM 的bpp=32,即用四个字节表示每个像素,而生成的PNM是三个字节表示每个像素。需要在生成的图片数据中每隔三个数据插入一个0数据。

另外也需要将数据由ASCII类型转化为Binary类型。

以下为转化代码:

#include <stdio.h>#include <unistd.h>int main(){FILE *fp,*fp_w;unsigned char buf[10]={0};int value;int cnt=0;fp = fopen("./girl.pnm","rb");if(fp == NULL)return -1;fp_w = fopen("./girl.bin","wb");if(fp_w == NULL)return -1;while(!feof(fp)){cnt++;fgets(buf,10,fp);value=atoi(buf);//printf("cnt=%d,value:%d\n",cnt,value);fwrite(&value,1,1,fp_w);if(cnt%3==0){value=0;fwrite(&value,1,1,fp_w);}memset(buf,0,10);}if(fp)fclose(fp);if(fp_w)fclose(fp_w);}

5.导入设备,并写入buffer.

用rx等方式将最终显示的bin文件传入设备,并且通过命令 echo girl.bin > /dev/fb0 将输入显示在LCD 上。

 




0 0