悬赏问题:在TQ2440开发板linux中怎样用一个函数读取bmp格式图片中一个像素点的色彩信息?

悬赏问题:在TQ2440开发板linux中怎样用一个函数读取bmp格式图片中一个像素点的色彩信息?,第1张

这个需要了解 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历史所趋。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7243903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存