创建RGB数字的公式如下:
R (value between 0-100) + G (value between 0-100) * 1000 + B (value between 0-100) * 1000000
这会产生如下结果:8017035
如何将此值转换回其原始的 3 个变量值?
使用和esp8266
运行此代码
完全相同的方式,但模数而不是乘法。
int color = 8017035;
int r = color % 100;
int g = (color / 1000) % 100;
int b = (color / 1000000) % 100;
例如,以下是值往返的方式
有几种方法可以做到这一点。
要找到 R,你可以取模 1000。其余的将是 R。
要找到 G,您可以将 1000000取模,减去 R,然后除以 1000。模将删除 B 值,然后通过减去 R(您已经找到(将只剩下 G * 1000。
要找到 B,您可以减去 R 和 G,然后除以 1000000。
在R、G 或 B 为 100 的情况下,这将为您提供正确的结果。CoryKramer当前的最高答案将循环并告诉您数字是0,即使它是100。