【发布时间】:2019-05-19 09:50:44
【问题描述】:
我正在尝试使用画布弧线创建类似时间倒计时,绘图还可以,但弧线将具有笔触颜色,我想将其混合。
我绘制弧线的方式是使用 0 到 100 之间的数字,100 基本上是完整的弧线,0 什么都不是。当值大于 66 且小于(或等于)100 时,它将是绿色和橙色之间的混合,100 是总绿色,66 是总橙色。 65 及以下将混合橙色和红色,其中总红色为 0。
我不知道从哪里开始,不知道要搜索什么来研究如何获取值。
谁能指点我正确的方向?
这是我目前的代码 x)
static color (value)
{
const StartColor = 0x66BB6A; // Green
const MiddleColor = 0xFFA726; // Orange
const EndColor = 0xEF5350; // Red
}
编辑:这是我正在寻找的结果。它现在完全按照我想要的方式工作。干杯。
【问题讨论】:
-
您可以使用 0 - 100 表示法的 RGB 颜色。示例 rgb(0, 100, 0) 给出绿色。 fiddle
-
@PeterBode 我知道我可以做到这一点,虽然现在的问题是我有 3 种不同颜色的红色、绿色和蓝色值,但现在每个百分比的正确值如何?
-
@PeterBode 这正是我开始测试弧线的方式,尽管这里的问题是我需要在代码 sn-p 中的颜色之间很好地混合,而不是从黑色到绿色。现在它是一种颜色到另一种颜色,然后是另一种颜色,基于百分比。而所有颜色都有红色、绿色和蓝色值。
-
@Tedinoz 我看不出我的问题是如何重复的,因为我需要找到颜色之间的正确混合,而不是在值低于或高于时切换颜色。您能否解释一下我的问题与您链接的问题有何相同之处?谢谢:)
标签: javascript canvas colors color-blending