mirror of
				https://github.com/hyperion-project/hyperion.ng.git
				synced 2025-03-01 10:33:28 +00:00 
			
		
		
		
	* 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
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #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();
 | |
| }
 |