mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Adjustment merge + new brightness settings (#359)
* add new rgbtransform * activate rgbtransform * integrate new transform and gamma in adjustment, disable transform * fix brighness limit * advance upper and lower thresholds * start removing color transform * adjust configs/schema * implement json for new color adjustment * finish hyperion-remote extension for new adjustment settings * fix typos * rename luminance to brightness fix jsonapi for new adjustment * fix some bugs in adjustments * fix i18n * fix gamma via json * now brighness values goes from 0-1 with 0.5 is the default for all brighness is equal between the channels. less 0.5 all channels scaled down to new brighness, above 0.5 if possible channel gets brighter - but brighness is not equal between the channels anymore brighness value curve is now exponential instead of linear - this feels more natural * hslv cleanup
This commit is contained in:
36
libsrc/utils/ColorSys.cpp
Normal file
36
libsrc/utils/ColorSys.cpp
Normal file
@@ -0,0 +1,36 @@
|
||||
#include <utils/ColorSys.h>
|
||||
|
||||
#include <QColor>
|
||||
void ColorSys::rgb2hsl(uint8_t red, uint8_t green, uint8_t blue, uint16_t & hue, float & saturation, float & luminance)
|
||||
{
|
||||
QColor color(red,green,blue);
|
||||
qreal h,s,l;
|
||||
color.getHslF(&h,&s,&l);
|
||||
hue = h;
|
||||
saturation = s;
|
||||
luminance = l;
|
||||
}
|
||||
|
||||
void ColorSys::hsl2rgb(uint16_t hue, float saturation, float luminance, uint8_t & red, uint8_t & green, uint8_t & blue)
|
||||
{
|
||||
QColor color(QColor::fromHslF(hue,(qreal)saturation,(qreal)luminance));
|
||||
red = (uint8_t)color.red();
|
||||
green = (uint8_t)color.green();
|
||||
blue = (uint8_t)color.blue();
|
||||
}
|
||||
|
||||
void ColorSys::rgb2hsv(uint8_t red, uint8_t green, uint8_t blue, uint16_t & hue, uint8_t & saturation, uint8_t & value)
|
||||
{
|
||||
QColor color(red,green,blue);
|
||||
hue = color.hsvHue();
|
||||
saturation = color.hsvSaturation();
|
||||
value = color.value();
|
||||
}
|
||||
|
||||
void ColorSys::hsv2rgb(uint16_t hue, uint8_t saturation, uint8_t value, uint8_t & red, uint8_t & green, uint8_t & blue)
|
||||
{
|
||||
QColor color(QColor::fromHsv(hue,saturation,value));
|
||||
red = (uint8_t)color.red();
|
||||
green = (uint8_t)color.green();
|
||||
blue = (uint8_t)color.blue();
|
||||
}
|
Reference in New Issue
Block a user