这个需要了解 BMP图片的格式。每一个像素点都是 由4个字节表示的,所以只要读取4个字节 然后根据不同的格式 转化一下就可以得到 RGB 的三原色了。
例如: 如 一张bmp 是24位真彩色的,那读取后面的实际数据 第一个 4字节数据就是 (0,0)像素点 ,可以得到它的 三原色值。后面的像素点一次类推 往后每增加 一个像素点就读下一个 4字节数据。
两种实现,一是用 framebuffer,二是开 X 服务。相对来说,低性能的嵌入式用 framebuffer 更好。如果性能好可以用 X 服务实现图形显示。前者基于内核的显示驱动,后者看 X 服务的驱动了。
X 服务可以跑很多软件不需要重新开发,但 c/s 架构效率不是很好。
framebuffer 是软件直接 *** 作硬件的存储器,性能实现比较好。但很多功能都要自己写代码实现。
显示图片在 fb 里面我要是没记错,就是把图片解码成你的软件支持的格式,之后把这部分数据写入 fb 内存。
怎么弄就别找我了。建议看看相关的开发文章。
还有就是 QT 库本身就有直接 fb 输出的函数库,GTK 似乎也有,但目前好像还不是完全可用。用他们作为过渡函数库还不错的。但要注意他们的软件协议!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)