コード例 #1
0
// Create a HSV color
rgb24 CreateHSVColor(float hue, float saturation,  float value) {

    float r, g, b;
    rgb24 color;

    hsvToRGB(hue, saturation, value, &r, &g, &b);

    color   = (u32)(r * MAX_COLOR_VALUE)<<16;
    color = color | ((u32)(g * MAX_COLOR_VALUE) <<8); 
    color = color | (u32)(b * MAX_COLOR_VALUE) ;
	
	  //color = color <<16;
    return color;
}
コード例 #2
0
ファイル: Color.cpp プロジェクト: AKS2346/Cinder
void ColorT<T>::set( ColorModel cm, const Vec3f &v )
{
	switch( cm ) {
		case CM_HSV: {
			Colorf rgb = hsvToRGB( v );
			r = CHANTRAIT<T>::convert( rgb.r );
			g = CHANTRAIT<T>::convert( rgb.g );
			b = CHANTRAIT<T>::convert( rgb.b );
		}
		break;
		case CM_RGB:
			r = CHANTRAIT<T>::convert( v.x );
			g = CHANTRAIT<T>::convert( v.y );
			b = CHANTRAIT<T>::convert( v.z );
		break;
		default:
			throw;
	}
}
コード例 #3
0
ファイル: Color.cpp プロジェクト: AKS2346/Cinder
ColorAT<T>::ColorAT( ColorModel cm, float c1, float c2, float c3, float aA )
	: a( CHANTRAIT<T>::convert( aA ) )
{
	switch( cm ) {
		case CM_HSV: {
			Colorf rgb = hsvToRGB( Vec3f( c1, c2, c3 ) );
			r = CHANTRAIT<T>::convert( rgb.r );
			g = CHANTRAIT<T>::convert( rgb.g );
			b = CHANTRAIT<T>::convert( rgb.b );
		}
		break;
		case CM_RGB:
			r = CHANTRAIT<T>::convert( c1 );
			g = CHANTRAIT<T>::convert( c2 );
			b = CHANTRAIT<T>::convert( c3 );
		break;
		default:
			throw;
	}
}
コード例 #4
0
ファイル: RGBLed.cpp プロジェクト: jerrysandys/Arduino
void RGBLed::setHSV(float hue, float saturation, float value)
{
	Color result = hsvToRGB(hue, saturation, value);
	setRGB(result.r, result.g, result.b);
}