void led_strip_hsv2rgb(uint32_t h, uint32_t s, uint32_t v, uint32_t *r, uint32_t *g, uint32_t *b) { double hd = h / 60.0; double s_d = s / 255.0; double v_d = v / 255.0;

double c = v_d * s_d;
double x = c * (1 - fabs(fmod(hd, 2) - 1));
double m = v_d - c;

double r_d, g_d, b_d;

if (hd < 1) {
    r_d = c;
    g_d = x;
    b_d = 0;
} else if (hd < 2) {
    r_d = x;
    g_d = c;
    b_d = 0;
} else if (hd < 3) {
    r_d = 0;
    g_d = c;
    b_d = x;
} else if (hd < 4) {
    r_d = 0;
    g_d = x;
    b_d = c;
} else if (hd < 5) {
    r_d = x;
    g_d = 0;
    b_d = c;
} else {
    r_d = c;
    g_d = 0;
    b_d = x;
}

*r = (uint32_t)((r_d + m) * 255);
*g = (uint32_t)((g_d + m) * 255);
*b = (uint32_t)((b_d + m) * 255);
将下面的HSV转RGB函数定义修改成void led_strip_hsv2rgbuint32_t h uint32_t s uint32_t v uint32_t r uint32_t g uint32_t bvoid HSV2BGRHSV &hsv BGR &bgr int h = hsvh; double s = hsv s; double v = hsv v; dou

原文地址: https://www.cveoy.top/t/topic/g93d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录