我想从一个更高的系统控制DMX灯。我只收到RGB值0-255。DMX灯有红色、绿色、蓝色和琥珀色灯(0-255)。如何将RGB转换为RGB+Amber?
我试着手动调整灯光,但转换表不是我的选择,因为我的内存有限。
谢谢。右
最佳答案
在光线下,有不同的颜色空间。每个颜色空间都是一个维度空间,这样沿“维度”组合颜色将导致混合颜色。
RGB,意味着您可以混合红色、绿色和蓝色的各种值。琥珀色已经是一种混合物,所以要“添加琥珀色”到RGB中,您必须决定如何调整红色、绿色和蓝色的值,使它们看起来更琥珀色。
琥珀色是FFBF00或(RGB:255、191、0),所以第一步是计算出RGB值中“琥珀色”的分量。例如,(RGB:128,80,0)为50%琥珀色,其他为0%。
一旦你能计算出琥珀色的百分比,你就可以“拉出琥珀色”,剩下的非琥珀色用RGB表示。然后你可以有一个RGBAmber颜色空间。
记住,你不能过度驱动RGB,所以如果你添加(RGB amber:50%,20%,0%,100%),它将被转换成RGB(100%,…),这不会让红色像其他颜色一样放大,使琥珀色的东西看起来有点不对劲。
在现实中,这将正确地近似第四琥珀维度的构造;但是,它不会是正确的。事实是,你不能完全从其他三个维度构建第四维度,因为红绿蓝的物理混合方式与琥珀色通道产生的不同。例如,在所有通道上以100%的速度驱动RGB amber是完全有效的,但RGB永远不会这样做,因为要以100%的速度驱动琥珀色,您将有效地将所有红色通道归零。
关于c - RGB到RGB加AMBER,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32462331/