42 return static_cast<float>(n) / 255.0;
65 inline unsigned char toInt(
float n)
67 return static_cast<unsigned char>(n * 255.0);
73 int_color.
r =
toInt(float_color.
r);
74 int_color.
g =
toInt(float_color.
g);
75 int_color.
b =
toInt(float_color.
b);
76 int_color.
a =
toInt(float_color.
a);
83 int_color.
h =
toInt(float_color.
h);
84 int_color.
s =
toInt(float_color.
s);
85 int_color.
v =
toInt(float_color.
v);
86 int_color.
a =
toInt(float_color.
a);
100 double min = rgba.
r < rgba.
g ? rgba.
r : rgba.
g;
101 min = min < rgba.
b ? min : rgba.
b;
103 double max = rgba.
r > rgba.
g ? rgba.
r : rgba.
g;
104 max = max > rgba.
b ? max : rgba.
b;
109 double delta = max - min;
110 if (max == 0.0 || delta < 0.00001)
119 out.
s = (delta / max);
123 out.
h = (rgba.
g - rgba.
b) / delta;
125 else if (rgba.
g >= max)
127 out.
h = 2.0 + (rgba.
b - rgba.
r) / delta;
131 out.
h = 4.0 + (rgba.
r - rgba.
g) / delta;
166 double hh = hsva.
h * 360.0;
167 if (hh >= 360.0) hh = 0.0;
170 int i =
static_cast<int>(hh);
172 double p = hsva.
v * (1.0 - hsva.
s);
173 double q = hsva.
v * (1.0 - (hsva.
s * ff));
174 double t = hsva.
v * (1.0 - (hsva.
s * (1.0 - ff)));
220 std_msgs::ColorRGBA msg;
color_util::ColorHSVA changeColorspace(const color_util::ColorRGBA &rgba)
std_msgs::ColorRGBA toMsg(const color_util::ColorRGBA &rgba)
color_util::ColorRGBA24 toInt(const color_util::ColorRGBA &float_color)
color_util::ColorRGBA toFloat(const color_util::ColorRGBA24 &int_color)