- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想根据 0 到 100 之间的值显示一种颜色。一端 (100) 是纯红色,另一端 (0) 是纯绿色。在中间 (50),我希望它是黄色的。
我希望颜色从一种颜色逐渐淡入另一种颜色,例如在 75 时,颜色一半是红色,一半是黄色,等等。
如何对 RGB 值进行编程以反射(reflect)这种褪色?谢谢。
最佳答案
我有同样的需求,我只是解决了这个问题:
myColor = new Color(2.0f * x, 2.0f * (1 - x), 0);
解释:让我们关注颜色分量的 [0.0-1.0] 范围,而不是 [0-255] 范围:
如果你只是将绿色分量从 0.0(在一端)缩放到 1.0(在另一端)并对红色分量做同样的事情(但向后),你会得到难看和不均匀的颜色分布。
为了让它看起来好看,我们可以写很多代码,或者我们可以更聪明。
如果仔细观察单个分量,您会发现我们可以将范围分成两个相等的部分:在第一个分量中,我们将红色分量从 0.0 增加到 1.0,将绿色保留为 1.0,将蓝色保留为 0.0 ;在第二个中,我们减少绿色分量,让其他 2 个保持原样。我们可以利用这样一个事实,即任何高于 1.0 的值都将被读取为 1.0,通过最大化我们的值来简化代码。假设您的 x 值从 0.00 (0%) 变为 1.00 (100%),您可以将其乘以 2 使其超过颜色分量的 1.0 限制。现在您的组件从 0.0 到 2.0(红色)和从 2.0 到 0.0(绿色)。将它们裁剪到 [0.0-1.0] 范围内即可。
如果你的 x 在另一个范围内移动(比如 [0-100])你需要选择一个合适的因子而不是 2
关于c# - 算法:如何使用 RGB 值通过黄色从红色渐变为绿色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6394304/
北京时间今天下午,realme 5i手机正式登陆印度市场,5000mAh+骁龙665处理器,售价约合人民币870元。在发布会上,realme的印度CEO马达夫·希思(Madhav Sh
这个问题在这里已经有了答案: What does a space mean in a CSS selector? i.e. What is the difference between .clas
我配置了 Jenkins 构建(项目使用 Java、Maven、JUnit)。根据单元测试失败的 Maven 阶段,我想将构建标记为红色、黄色或绿色: 编译错误:红色 Maven 阶段“测试”失败:红
我想知道是否可以在“solidGauge”图表的右侧设置一个从左侧绿色(0 值)开始、中间渐变为黄色然后渐变为红色的渐变。 我在 yAxis 中尝试了一些配置,但它们没有按照我的要求进行:
我正在使用 cocos2d 库制作 iOS 游戏。 假设您有两个具有两种不同颜色的对象 - 在 RGB 中定义为 Blue: 0,0,255 Yellow: 255,255,0 我想添加蓝色和
有没有办法轻松地将给定的十六进制颜色代码分配给更一般的类别(红色、绿色、蓝色、黄色、橙色、粉色、黑色、白色、灰色……)? 比如 #ffcc55 -> 橙色,#f0f0f0 -> 白色,... 编辑:甚
我必须区分5种类型的图像,这些图像可能主要是红色,绿色,蓝色,橙色或黄色,而白色或黑色。我必须找到图像中突出的颜色。 图像来源是网络摄像头,因此实际颜色还取决于图像的照明度和距网络摄像头的距离。我的图
我一直在寻找如何在 qtableview 的特定单元格上设置颜色。目前,我正在使用 qt 示例卡住列来查看如何在特定单元格上设置颜色。 我在论坛上搜索有关如何告诉使用 qitemdelegate 或
我是一名优秀的程序员,十分优秀!