【问题标题】:QColor hsl hue precisionQColor hsl 色调精度
【发布时间】:2014-11-24 18:39:14
【问题描述】:

在下面显示的代码中,颜色的 hsl 色调分量具有与预期不同的值。

对于:r:255 g:168 b:177,它给出 353 的 hsl 色调,但在其他网络工具上它产生 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();

这是一个已知问题吗?

【问题讨论】:

  • 谁否决了这个问题,愿意详细说明吗?无论哪种方式,我都用赞成票来补偿它......

标签: c++ qt qtgui hsl


【解决方案1】:

问题似乎只是在请求整数输出时 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-29
    • 2014-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-31
    • 2014-10-31
    • 1970-01-01
    相关资源
    最近更新 更多