一、了解
使用之前首先要了解一下,所使用的开发板LCD设备文件的位置。(我的开发板位置: /dev/fb0)
文件 IO ——对 LCD设备文件的操作
控制LCD输出设备,就是往里面写像数数据;因此要知道所用的LCD屏的分辨率是多少。
我用的是7寸LCD屏,分辨率为: 800*480
一张图片是以光的三原色(RGB): red(0 ~ 255)green(0 ~ 255) blue(0 ~ 255)
而我们屏幕显示不止RGB三种,还有一个透明度,因此构成分辨率的是 ARGB ,而A透明度:是一种算法 不是颜色分量 范围依然是 0~255; 虽然不是颜色分量 但显存fb0 依然会将该分量计算在内
0x00 00 00 00 (以 A R G B 表示)A不用去管,填FF和00 没什么区别。
unsigned int color = 0x00FF0000;//红色
unsigned int color = 0x0000FF00;//绿色
unsigned int color = 0x000000FF;//蓝色
以上可知,写入fb0 显存的数据ARGB 是占4个字节为一个像数点,总的有800*480个像数点,因此写入显存的真正大小是:800*480*4
下面以一个简单的例子,熟悉一下
要求在 屏幕 显示单颜色绿色:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>//read
int main()
{
int i;//
int fb0_fd;//lcd文件描述符
unsigned int color = 0x0000FF00;//绿色
fb0_fd = open("/dev/fb0",O_WRONLY);//只写
if(-1 == fb0_fd)
{
perror("open fb0 fail");
}
//int i;
for(i=0;i<800*480;i