
这个需要了解 BMP图片的格式。每一个像素点都是 由4个字节表示的,所以只要读取4个字节 然后根据不同的格式 转化一下就可以得到 RGB 的三原色了。
例如: 如 一张bmp 是24位真彩色的,那读取后面的实际数据 第一个 4字节数据就是 (0,0)像素点 ,可以得到它的 三原色值。后面的像素点一次类推 往后每增加 一个像素点就读下一个 4字节数据。
Qt4版本以上可在构造函数中加入如下代码RcMainWindow::RcMainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::RcMainWindow)
{
ui->setupUi(this)
QPixmap pixmap(":/img/background.bmp")
QPalette palette
palette.setBrush(backgroundRole(), QBrush(pixmap))
setPalette(palette)
}
此外也可实现继承自父类QMainWindow的虚函数paintEvent,并在该函数中加入同样代码。
linux LCD显示的原理是帧缓冲区framebuf,直接将相应数据写入linux的帧缓冲区,屏幕就可以直接显示相应的信息了,嵌入式一般支持16位颜色显示的,555或者565,具体你得看嵌入式平台支持哪一种的格式(补充说明:一般平台的供应商都提供可以把bmp格式的图像文件,转换成相应可以向framebuf中写入的数据 数组,你可以直接使用这些数组进行屏幕的显示,没必要自己在转换了)。
至于qt显示,你得看你qt支持什么的图片格式,不同格式的头可能是不同,建议直接去网上搜索相应的工具可以直接转换所需的图片!
希望能帮到你。
现在用qt的已经逐渐很少了,大家都转向android了,android历史所趋。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)