gpt4 book ai didi

Python - RGB LED 颜色褪色

转载 作者:行者123 更新时间:2023-11-30 22:43:23 25 4
gpt4 key购买 nike

我进行了广泛的研究,试图找到一种在 Python 中从一种颜色到另一种颜色之间淡入淡出的方法。我发现的大多数示例通常特定于某种设备或使用另一种翻译不佳的语言。

我目前有一段修改过的代码,用于创建呼吸效果,例如从 0 到 255 的渐变效果非常好。我现在设置的是 from 颜色,比如绿色;闪烁;然后将设置为颜色:

def colorFade(strip, colorFrom, colorTo, wait_ms=20, steps=10):
steps = 200

step_R = int(colorTo[0]) / steps
step_G = int(colorTo[1]) / steps
step_B = int(colorTo[2]) / steps
r = int(colorFrom[0])
g = int(colorFrom[1])
b = int(colorFrom[2])

for x in range(steps):
c = Color(int(r), int(g), int(b))
for i in range(strip.numPixels()):
strip.setPixelColor(i, c)
strip.show()
time.sleep(wait_ms / 1000.0)
r += step_R
g += step_G
b += step_B

调用代码:

colorFade(strip, [200, 0, 0], [0, 200, 0])

最佳答案

听起来你想从 colorFrom 开始,然后逐步逐步沿着直线直到到达 colorTo

此代码的作用是从 colorFrom 开始,然后递增当前颜色颜色就好像您从黑色逐步过渡到colorTo

如果没有完整的代码,很难确定,但看起来你应该替换这个:

step_R = int(colorTo[0]) / steps
step_G = int(colorTo[1]) / steps
step_B = int(colorTo[2]) / steps

这样:

step_R = (colorTo[0] - colorFrom[0]) / steps
step_G = (colorTo[1] - colorFrom[1]) / steps
step_B = (colorTo[2] - colorFrom[2]) / steps

编辑:并且,正如 jasonharper 指出的那样,您可能正在执行整数除法。不清楚你的类型是什么。如果您使用的是 Python 2,则 / 是整数除法。在 Python 3 中,它是 float 。

关于Python - RGB LED 颜色褪色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41793471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com