使用QColorDialog返回RGB565值

问题描述

当用户从QColorDialog中选择一种颜色时,我想返回RGB565值。我尝试使用RGB565 Color Picker website中描述的转换方法,但是我的代码输出未以十六进制格式表示相同的值:

QColor color = QColorDialog::getColor();

uint8_t red = color.red();
uint8_t green = color.green();
uint8_t blue = color.blue();
qDebug("%d red + %d green + %d blue",red,green,blue);

uint16_t Rgb565 = 0;
Rgb565 = (((red & 0xf8)<<8) + ((green & 0xfc)<<3) + (blue>>3));
qDebug() << Rgb565;

例如,如果RGB值为(255,0),则输出为63488。我期望输出为0xF800。我在做什么错了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...