(转)Android屏幕Framebuffer绘图机制
2013-11-25 17:22
671 查看
Android屏幕绘制基本与linux相同,都是使用Framebuffer来绘制屏幕,设备为/dev/graphic/fb0
Framebuffer存储在内存或者显存中,比如一个800 × 600的屏幕,每个像素点为16位色,那么Framebuffer的大小就为(800 × 600 × 16/8) byte
手机的LCD屏幕通过显存中当前的Framebffer和缓存的framebuffer来绘制屏幕上的每一个像素点
具体顺序为:
1 打开framebuffer设备;
2 通过ioctl取得fixed screen information;(ioctl(fd, FBIOGET_FSCREENINFO, &finfo))
3 通过ioctl取得variable screen information;(ioctl(fd, FBIOGET_VSCREENINFO, &vinfo))
4 通过mmap映射设备内存到进程空间;(记得区分内核空间和用户空间,用户空间是无法对物理内存直接读写的)
5 写framebuffer;
6 终止。(记得终止时一定要取消映射,并close掉句柄)
ioctl中request参数:
FBIOGET_VSCREENINFO表示用户获取屏幕的可变参数;
FBIOPUT_VSCREENINFO表示用户设置可变的屏幕参数;
FBIOGET_FSCREENINFO表示用户获得屏幕的固定参数;
FBIOBLANK表示调用sep4020fb_blank函数清空液晶屏;
FBIOPUTCMAP表示设置屏幕的颜色表;
FBIOGETCMAP表示获得颜色表。
其实也可以发现,android中的很多机制都是通过ioctl来实现的,比如binder等等:)
转自:http://blog.sina.com.cn/s/blog_64b54bce0100lmxz.html
Framebuffer存储在内存或者显存中,比如一个800 × 600的屏幕,每个像素点为16位色,那么Framebuffer的大小就为(800 × 600 × 16/8) byte
手机的LCD屏幕通过显存中当前的Framebffer和缓存的framebuffer来绘制屏幕上的每一个像素点
具体顺序为:
1 打开framebuffer设备;
2 通过ioctl取得fixed screen information;(ioctl(fd, FBIOGET_FSCREENINFO, &finfo))
3 通过ioctl取得variable screen information;(ioctl(fd, FBIOGET_VSCREENINFO, &vinfo))
4 通过mmap映射设备内存到进程空间;(记得区分内核空间和用户空间,用户空间是无法对物理内存直接读写的)
5 写framebuffer;
6 终止。(记得终止时一定要取消映射,并close掉句柄)
ioctl中request参数:
FBIOGET_VSCREENINFO表示用户获取屏幕的可变参数;
FBIOPUT_VSCREENINFO表示用户设置可变的屏幕参数;
FBIOGET_FSCREENINFO表示用户获得屏幕的固定参数;
FBIOBLANK表示调用sep4020fb_blank函数清空液晶屏;
FBIOPUTCMAP表示设置屏幕的颜色表;
FBIOGETCMAP表示获得颜色表。
其实也可以发现,android中的很多机制都是通过ioctl来实现的,比如binder等等:)
转自:http://blog.sina.com.cn/s/blog_64b54bce0100lmxz.html
相关文章推荐
- Android绘图机制(一)--屏幕尺寸信息
- android屏幕framebuffer绘图
- Android 支持多屏幕机制
- Android绘图机制与处理技巧
- android屏幕刷新显示机制
- android draw绘图机制
- 《Android群英传》读书笔记(7)第六章:Android绘图机制与技巧之三
- Android绘图机制(一) View类
- Android绘图机制(一) View类
- Android群英传学习-Android绘图机制与处理技巧
- android 绘图机制源码分析
- Android 支持多屏幕机制
- Android 绘图机制与处理技巧-1
- Android屏幕背光调整机制
- Android屏幕背光调整机制
- Android绘图机制(五)自定义控件的官方实例
- 从FrameBuffer中获取Android屏幕截图
- 《Android群英传》读书笔记6.Android绘图机制与处理技巧
- 安卓绘图的双缓冲机制(看了疯狂Android的双缓冲,自己的一点点感想)
- Android群英传读书笔记第六章(Android绘图机制与处理技巧)