首页| 论坛| 消息

标题:qt色彩不对的问题
作者:foreverlee
日期:2009-07-07 23:28
内容:

在at91sam9261的板子上移植qt,运行qt带的例子,发现qt颜色不对,atmel LCD用的是BGR555,怎么才能转成RGB565呢,现在的qt版本是4.2.3,在网上看到说是4.4以上的版本就不用管这个转换了,只用在configure的时候加个选项就可以了,请问是这样吗?BGR转RGB该修改什么呢?


#1 [jklbupt 07-08 09:32]
我记的原来linux4sam论坛上有个贴子是解决qt4 core 这个问题的.你先找找. 还有你的qt 版本是那个?qtopia-opensource 还是qt embeded?现在也在弄9261交流下.
#2 [kitten 07-08 11:37]
顶起,现在正在为这个问题苦恼,qt的demo按键颜色也不正常,不过窗口背景指定一个不存在路径的图片,颜色就正常了
#3 [alayi 09-02 14:55]
呵呵 我的是9263上面出现这个问题的
我把qt改了一下 qt库版本 是 qt-2.3.10基本OK了 只是 阴影部分还有点点 问题 真正解决中.................
以下是修改的代码:
其中添加了一个编译参数BGR_555
可以添加在 configure 中
config的时候添加-bgr555 选项
-R)
shift
R_FLAGS="$R_FLAGS -R$1"
;;
-bgr555)
shift
QT_CXX="$QT_CXX -BGR_555"
;;
*)
echo $1: unknown argument
HELP=yes;
ERROR=yes
;;
esac
shift
done
src/kernel/qgfx_qws.h
44 #if !defined( QT_NO_IMAGE_16_BIT ) || !defined( QT_NO_QWS_DEPTH_16 )
45 # ifndef QT_QWS_DEPTH16_RGB
46 #if defined(BGR_555)
47 #define QT_QWS_DEPTH16_RGB 555
48 #else
49 #define QT_QWS_DEPTH16_RGB 565
50 #endif /* end BGR_555 */
51 # endif
52 static const int qt_rbits = (QT_QWS_DEPTH16_RGB/100);
53 static const int qt_gbits = (QT_QWS_DEPTH16_RGB/10%10);
54 static const int qt_bbits = (QT_QWS_DEPTH16_RGB%10);
55
56 #if defined(BGR_555)
57 static const int qt_neg_blue_shift = qt_bbits+qt_gbits-(8-qt_rbits);
58 static const int qt_green_shift = qt_bbits-(8-qt_gbits);
59 static const int qt_red_shift = 8-qt_bbits;
60
61 static const int qt_red_mask = (1
#4 [alayi 09-02 14:57]
不好意思上面写错了
shift
QT_CXX="$QT_CXX -BGR_555"
在-BGR_555的B前加一个D --> QT_CXX="$QT_CXX -DBGR_555"
#5 [alayi 09-02 15:03]
再给你补充点吧:
以下是我的一点总结,供参考,(仅供参考哦 哈哈 别太认真了,错了别怪我)
BGR555:
rgb red>> 3
rgb green

<< 1 2 >> (1/2)

回复 发表
主题 版块