2014-11-24 108 views
0

在下面显示的代码中,颜色的hsl色相组件具有不同于预期的值。QColor hsl色相精度

:r中:255 G:168 B:177它给人的353,但是,其他网络工具它产生354

QColor rgb(c); 
QColor hsl = rgb.toHsl(); 
QColor hsv = rgb.toHsv(); 

// RGB 
int r = rgb.red(); 
int g = rgb.green(); 
int b = rgb.blue(); 

// HSB 
int hslh = qMax(hsl.hslHue(), 0); 
int hsls = hsl.hslSaturation(); 
int hsll = hsl.lightness(); 

一个HSL色调这是一个已知的问题?

+0

谁downvoted这个问题,详细地谈一谈?我用无论哪种方式补偿了它... – lpapp 2014-11-24 20:01:39

回答

0

这个问题似乎只是Qt如何在请求整数输出时舍入颜色分量值。为了说明你的例子:

QColor col(255,168,177); 
std::cout << "hue_float " << col.hslHueF()*360.0f << std::endl; 
std::cout << "hue_int " << col.hslHue() << std::endl; 

输出:

hue_float 353.79 
hue_int 353