【LCD 应用编程】获取LCD屏幕参数信息(分辨率、像素深度、RGB格式)

目录

一、LCD显示的基本原理

1、认识 FrameBuffer

2、理解LCD的分辨率和深度

二、接口函数 ioctl

1、函数声明

2、结构体介绍

三、获取LCD屏的信息(分辨率、深度)


一、LCD显示的基本原理

1、认识 FrameBuffer

FrameBuffer 是帧缓冲,可以看做是一块内存,帧缓冲是一种显示驱动接口,该接口屏蔽了显示设备(如LCD)硬件层面的实现。在应用层看来,显示设备就是一块内存,操作这块内存就相当于在操作显示设备

在Linux 系统中,显示设备也叫做 FrameBuffer 设备,LCD就是 FrameBuffer 设备,FrameBuffer 设备对应的设备文件为 /dev/fdX(X=0、1、2 ...),一般 /dev/fb0 代表LCD显示屏。应用程序读写 /dev/fbX 就相当于读写显示设备的显存(显示缓冲区)

2、理解LCD的分辨率和深度

说到显示设备或者图片,我们经常会提到 分辨率像素深度 的概念

  • 分辨率:一行有多少个像素点,一列有多少个像素点
  • 像素深度:每个像素点要用多少bit来表示

假设LCD 的分辨率是 800*480,每个像素点用 RGB565 来表示。

800*480 每行有 800 个像素点,每列有 480 个像素点
RGB565

每个像素点由R、G、B三种颜色表示

        - R 占 5 bit

        - G 占 6 bit

        - B 占 5 bit

前面说到,显示设备其实可以看做是显示缓冲区,显示缓冲区的大小 = 分辨率 * 像素深度

二、接口函数 ioctl

1、函数声明

ioctl 的用途会根据其传入的参数发生变化,ioctl函数声明如下:

第一个参数是文件描述符,即FrameBuf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值