问题描述
当用户从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 (将#修改为@)