首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RGB到RGB加上琥珀色

RGB到RGB加上琥珀色
EN

Stack Overflow用户
提问于 2015-09-08 23:59:00
回答 3查看 1.9K关注 0票数 0

我想从更高的系统控制DMX光。我只收到0-255的RGB值。DMX灯有红色、绿色、蓝色和琥珀色(0-255)。如何将RGB转换为RGB +琥珀色?

我尝试手动调整灯光,但转换表不是我的选项,因为我的内存有限。谢谢。R

EN

回答 3

Stack Overflow用户

发布于 2015-09-09 00:48:34

在光中,有不同的颜色空间。每个颜色空间都是一个维度空间,使得沿着“维度”组合颜色将产生混合颜色。

RGB,意味着你可以混合红色,绿色和蓝色的不同值。琥珀已经是一种混合物,因此要将琥珀添加到RGB,您必须决定如何调整红色、绿色和蓝色的值,使它们看起来更像琥珀。

琥珀是#FFBF00或( RGB : 255,191,0),所以第一步是计算出RGB值的“琥珀”值是多少。例如,(RGB: 128,80,0)为50%琥珀色,0%其他值。

一旦你可以计算出琥珀色的百分比,你就可以“拉出琥珀色”,剩下的非琥珀色留在RGB中。然后你就可以拥有一个RGBAmber色彩空间。

请记住,您不能过度驱动RGB,所以如果您添加(RGBAmber: 50%,20%,0%,100%),它将被转换为RGB(100%,...)这不会让红色像其他颜色那样放大,让琥珀色的东西看起来有点不对劲。

在现实中,这将适当地近似于第四个琥珀维度的构造;但是,它将不正确。事实是,你不能从其他三个维度完全构建第四个维度,因为红色、绿色和蓝色的物理混合与琥珀通道产生的不同。例如,在所有通道上以100%的速度驱动RGBAmber是完全有效的,但RGB永远不能这样做,因为如果以100%的速度驱动琥珀色,您将有效地将所有红色通道归零。

票数 3
EN

Stack Overflow用户

发布于 2017-03-04 09:41:32

琥珀色LED与红色、绿色、蓝色和白色LED具有不同的光谱。没有RGB --> RGBA转换,因为与单独使用RGB LED相比,您最终将获得不同的照明光谱。

附注:与红色和绿色相比,琥珀色red通常非常暗淡,因此,如果您只是试图产生在我们的眼睛看来“看起来”是黄色的光,您可以忽略DMX光的琥珀色通道,而不会牺牲太多总亮度。

票数 1
EN

Stack Overflow用户

发布于 2015-09-09 04:21:15

琥珀色是#FFBF00或(RGB: 255,191,0)

代码语言:javascript
复制
char amber = (floor(255.0f*(R*1.0f+G*.749f)/446.0f))

计算的这一部分执行琥珀比例:

代码语言:javascript
复制
(R*1.0f+G*.749f)/446.0f)  and results in a value range 0.0f...1.0f

计算的这部分执行缩放到0...255

代码语言:javascript
复制
255.0f*

计算的这一部分消除了分数

代码语言:javascript
复制
(floor(....)

在所有的可能性中,产生的范围将是0...254,但这应该足够接近,以保持其简单和可用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32462331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档