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 ...
随机推荐
- Python max() 方法
描述 Python max() 方法返回字符串中最大的字母(26个字母中最大的是Z). 语法 max() 方法语法: max(S) 参数 S -- 字符串. 返回值 返回字符串中最大的字母. 实例 以 ...
- JSP页面中文乱码
近期搭建了一个JAVA WEB项目,引入了国际化的ResourceBundle. 顺便赞一个,Eclipse Mars,自带了中文转unicode编码的功能. ① 根据语言选择,初始化Resource ...
- mac与windows上部署使用Redis
windows下Redis安装 在Redis的官网下载页上有各种各样的版本,由于redis官网不支持windows,但是我们伟大的windows家族还是召唤了一群小伙伴开发了win版的redis.要在 ...
- Linux的七个运行级别原理概述
所谓运行级别,简单点来说,运行级别就是操作系统当前正在运行的功能级别.级别是从0到6,具有不同的功能.这些级别定义在/ect/inittab文件中.这个文件是init程序寻找的主要文件,最先运行的服务 ...
- Spring里的aop实现方式和源码分析
使用"横切"技术,AOP把软件系统分为两个部分:核心关注点和横切关注点.业务处理的主要流程是核心关注点,与之关系不大的部分是横切关注点.横切关注点的一个特点是,他们经常发生在核心关 ...
- Vivado使用技巧(二):封装自己设计的IP核
由 judyzhong 于 星期五, 09/08/2017 - 14:58 发表 概述 Vivado在设计时可以感觉到一种趋势,它鼓励用IP核的方式进行设计.“IP Integrator”提供了原 ...
- Android App 内存泄露之调试工具(1)
Android App 内存泄露之工具(1) 使用内存监測工具 DDMS –> Heap 操作步骤 启动eclipse后,切换到DDMS透视图,并确认Devices视图.Heap视图都是打开的, ...
- java多线程实验 滚动字
package com.rgy.Test; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt ...
- oop klass
https://www.infoq.com/articles/Introduction-to-HotSpot 借助HotSpot SA来一窥PermGen上的对象 找出栈上的指针/引用 虚拟机随谈(一 ...
- 深入理解Eureka - Eureka Client获取注册信息机制
深入理解Eureka - Eureka Client获取注册信息机 Eureka Client提供了定时获取注册信息的机制.Eureka Client获取注册信息的所有逻辑都在DiscoveryCli ...