我有一个QColor
值,我需要将其分解为0到1之间的RGB分量,小数点后只有一个值。
例如:Orange color
是
QColor color = QColor(255,128,0)
qreal green = color.greenF();
qDebug() << green; //0.501960784
绿色部分必须为0.6
。也就是说,它是rgb value is (255,128,0) or (1,0.6,0).
如何获取0.6
而不是0.501960784
?
答案 0 :(得分:2)
但是橙色是255,128,0
没有“ the”橙色之类的东西。每个人都使用相同的单词打电话给其他人。橙色不是颜色,而是一系列色调。为这些色调指定饱和度和亮度后,它们就会变成颜色。可以使用每个combitnet的8位R,G,B三元组来表示很多颜色,它们的色调均为橙色,因此可以称为 an 橙色。没有 the 橙色,
绿色分量必须为0.6。也就是说,它的rgb值为(255,128,0)或(1,0.6,0)。
不是。 QColor
告诉您,基本数学告诉您。 显然的颜色是1/0.6/0
或1*255, 6/10*255, 0*255
或255, 1530/10, 0
或255, 153, 0
准确。永远不会255,128,0
,我也不知道是谁告诉你的,但是他们错了。
这真的很简单:忘记一切。只需使用QColor::redF
,greenF
和blueF
。他们以应有的方式工作。
哦,您甚至没有提到房间里的大象是色彩空间。 RGB三元组没有物理意义-完全是抽象的-除非将其映射到物理色彩空间。而且,您最好使用校准的输出设备来将颜色选择与用户联系起来,否则周围将无尽的愚蠢。