/*
* 功能:打开系统显存文件 /dev/fb0,并将其映射到内存中,并用颜色填充屏幕,分辨率为800x480。
*/
#include <stdio.h>//导入标准输入输出函数库
#include <unistd.h>//导入unistd.h头文件
#include <fcntl.h>//导入fcntl.h头文件
int main(void)
{
int fb_fd;//显存文件描述符
int x, y;//坐标变量
unsigned int color[480][800];//颜色数组
fb_fd = open("/dev/fb0", O_RDWR);//第一个参数为文件名,char *类型;第二个参数打开显存文件,O_RDWR表示读写模式,O_RDONLY表示只读模式,O_WRONLY表示只写模式。
//返回值-1表示打开失败
if(fb_fd == -1)
{
perror("打开显存文件失败");
return -1;
}
for(y=0; y<480; y++)//480行
{
for(x=0; x<800; x++)//一行800个像素
{
color[y][x] = 0x0000ff00;//将每一个像素设置颜色为绿色
}
}
write(fb_fd, color, 4*800*480);//将颜色数组写入显存文件,第一个参数为文件描述符,第二个参数为写入的颜色数组,第三个参数为写入的字节数
close(fb_fd);//关闭显存文件
return 0;
}
Linux 中的文件操作-文件io-系统io操作:将分辨率为800*480的屏幕设置为绿色。
于 2024-08-02 19:13:06 首次发布