imx6 qt 24bpp RGB
imx6运行qt,在24bit的LVDS接口屏上显示时,显示效果与实际的不同。蓝色变成了黄色。
本来应该显示成蓝色:

实际上去显示成了黄色:

而其他绿色的图标并没有改变,只是蓝色和黄色互换了。
猜想应该是显示的时候RGB顺序的数据,当成了BGR来显示才会出现这种情况。
更改板级文件board-mx6q_sabresd.c的LVDS显示参数,由RGB改为BGR,如下
static struct ipuv3_fb_platform_data sabresd_fb_data[] = {
{ /*fb0*/
.disp_dev = "ldb",
//.interface_pix_fmt = IPU_PIX_FMT_RGB24,
.interface_pix_fmt = IPU_PIX_FMT_BGR24,
结果也只是boot logo的企鹅颜色变了,而QT的显示界面并没有变化。
上网查阅,直到找到下面的连接:
https://forum.qt.io/topic/4154/solved-setting-qt-for-embedded-pixel-type-to-24bpp-bgr/3
根据链接中的描述,更改qt的源码,从新编译之后,问题解决。
更改文件qt-everywhere-opensource-src-4.8.5/src/gui/embedded/qscreen_qws.cpp
void qt_blit_setup(QScreen *screen, const QImage &image,
const QPoint &topLeft, const QRegion ®ion)
{
switch (screen->depth()) {
#ifdef QT_QWS_DEPTH_32
case 32:
if (screen->pixelType() == QScreen::NormalPixel)
screen->d_ptr->blit = blit_32;
else
screen->d_ptr->blit = blit_template<qabgr8888, quint32>;
break;
#endif
// 更改24bit的参数
#ifdef QT_QWS_DEPTH_24
case 24:
if (screen->pixelType() == QScreen::NormalPixel)
// Tony , 2017-2-18
//screen->d_ptr->blit = blit_qrgb888;
screen->d_ptr->blit = blit_24;
else
screen->d_ptr->blit = blit_template<qrgb888, quint24>;
//screen->d_ptr->blit = blit_24;
break;
#endif
Tony Liu
2017-2-18, Shenzhen
imx6 qt 24bpp RGB的更多相关文章
- QT 二维图形 原理、发展及应用
转载自 网易博客:sun的博客 http://zhouyang340.blog.163.com/blog/static/3024095920126710504178/ 2D绘图 Qt4中的2D绘图部分 ...
- QT OpenGL中文教程在QT4版本后的错误代码更改(一)
由于教程中说的已经够可以了,这里就不对代码进行分析了,有兴趣可以自己去看看.这个教程来源于原来的NeHeOpenGL中文教程 (http://www.yakergong.net/nehe/) ,但其有 ...
- qt 2D绘图技巧
2D绘图 Qt4中的2D绘图部分称为Arthur绘图系统.它由3个类支撑整个框架,QPainter,QPainterDevice和QPainterEngine.QPainter用来执行具体的绘图相关操 ...
- 【ARM开发板】迅为IMX6开发板QT下LVDS和HDMI双屏异显
本文转自迅为论坛:http://www.topeetboard.com 平台:迅为-IMX6开发板 首先开发板分别连接9.7寸屏和HDMI显示器,然后使用MfgTool工具烧写QT系统,然后拨码开关设 ...
- [分享] IMX6嵌入式开发板linux QT挂载U盘及TF卡
本文转自迅为开发板:http://www.topeetboard.com 开发平台:iMX6开发板 linux QT 系统下挂载 u 盘如下图所示,qt 启动之后,在超级终端中使用命令“mknod / ...
- QtCreator设置野火iMx6开发板提供的qt交叉编译套件
在Ubuntu18 QtCreator上添加野火iMx6开发板的Qt交叉编译环境PC:Ubuntu18.04QtCreator: 4.8.2交叉编译环境:野火提供的 5-编译工具链->qt交叉编 ...
- imx6 RGB LCD
imx6dl需要支持lcd接口的屏,imx6dl的datasheet并没有明确的说明lcd相关的配置,只在Display Content Integrity Checker (DCIC)一章中介绍.本 ...
- QT 实现彩色图亮度均衡,RGB和HSI空间互相转换
从昨天折腾到今天.再折腾下去我都要上主楼了 大致和灰度图均衡是一样的,主要是不能像平滑什么的直接对R,G,B三个分量进行.这样出来的图像时没法看的.因此我们要对亮度进行均衡.而HSI彩色空间中的分量 ...
- 关于imx6核心板qt系统U盘挂载
在使用imx6核心板开发的时候,程序写到U盘,想通过U盘在板子上运行程序,U盘插到板子上后在minicom中有信息显示,但是无法找到挂载文件,/dev和/mnt下都没有找到相应的文件.后来百度后发现U ...
随机推荐
- LWIP移植
- PHP Client for Mysql Binlog
PHP解析MySQL Binlog,依赖于mysql-replication-listener库 详见:https://github.com/bullsoft/php-binlog Install M ...
- python3 functools partial 用于函数的包装器详解
一.partial 的作用: partial 用于对一个已有函数进行包装,达到功能的定制的目的. 二.例子: 假设我们要完成两个功能,第一个功能是完成两个数相加,第二个功能是给一个自增一下 1.传统方 ...
- python 例程的一个好例子
用例程来写一个求平均值的算法 #!/usr/local/python/bin/python3 def FunCore(): total=0 counter=0 average=None tmp=yie ...
- RUBY Error: Please update your PATH to include build tools or download the DevKit
出错的原因是安装XXXXX的时候,需要build tools,但系统中没有.出错信息中同时也给出了解决的法案: 1. 到 http://rubyinstaller.org/downloads/ 去下载 ...
- 鼠标移至div内部其他层时,触发mouseout
话说有一个DIV元素,其内部有一个IMG元素和SPAN元素,不用理会这两个内部元素怎么布局,这不是我要讨论的重点. 为了实现一些特殊的效果,我需要利用TD的onmouseover和onmouseout ...
- Ubuntu和centos下查看包的安装路径
安装包后,如何查看安装的具体路径? Ubuntu下: dpkg -L <包名> CentOS下: rpm -ql <包名> 助记: l为list的首字母. q为query ...
- JS随机生成不重复数据的代码分享
JS随机生成不重复数据. 代码如下: <script> // 定义存放生成随机数的数组 var array=new Array(); // 循环N次生成随机数 for(var i = 0 ...
- linux命令(29):用户组管理
用户管理: 新建用户或组:新建用户:adduser user //新建user用户(推荐)passwd user //给user用户设置密码 新建组:groupadd test //新建test工作组 ...
- 配置maven为阿里云加速
<repositories> <repository> <id>nexus-aliyun</id> <name>Nexus aliyun&l ...