通过framebuffer直接写屏

时间:2016-10-21 05:01:03
【文件属性】:

文件名称:通过framebuffer直接写屏

文件大小:5KB

文件格式:RAR

更新时间:2016-10-21 05:01:03

framebuffer

通过framebuffer直接写屏 自动判断走是走fb还是qvfb; 目标平台为16位深度值,由于16位色rgb565图片(使用linux下GIMP工具将png转换为bmp,再使用dd命名去掉文件头将bmp转换为原始图片文件;也可使用ffmpeg命令转)没有alpha通道,原本透明的部分都为白色;如果使用rgb5551(png-(gimp工具)>bmp-(dd命令)>rgb5551)的图片,它只有一位alpha通道,不能完全表示图片的颜色信息,失真严重;所以程序中使用2张图片(rgb565和rgb5551)来进行贴图,用rgb5551来判断图片透明的部分把它过滤掉,再用rgb565来显示需要的部分。 编程思想: 1.先通过mmap将framebuffer映射为一个指针或通过shmget连接到qvfb的共享区域; 2.通过mmap将图片数据映射出来,像素点的读取通过移动指针来操作, 像素点的复制通过memcpy将元数据拷贝到fb中; 3.alpha的数据部分的读取是先将rgb的图片数据转换为bitmap形式来读取,一次可以读取32位,可以提到效率; 4.写数据时判断bitmap值为0xfffffff(即不透明的部分)时,就往fb中写数据,否则跳过。


【文件预览】:
通过framebuffer直接写屏
----fb_interface.h(3KB)
----fb_interface.c(12KB)
----readme.txt(877B)

网友评论

  • 不好用,搞不懂为什么非要用两个图片格式去显示一个图片,还浪费十个积分
  • 注释太少啊。。
  • 不是很明白,有点参考作用
  • 还是不明白什么qvfb怎么用的。注释的太少啊!
  • 还以为是安卓平台下的,唉。。。