如何获得新的画布弧形笔划样式?

时间:2012-06-08 19:12:06

标签: javascript html5 dom canvas

所以我试图绘制一个简单的色调轮,显示红色,绿色和蓝色组件以及它们之间的关系。问题在于,即使我使用beginPath()closePath(),我的(简单的,一度)弧也会对后来的弧线进行处理。

我目前的进展是http://meyerweb.com/eric/css/colors/hsl-from-rgb.html。最里面的戒指就是那个戒指,蓝色渐变为黑色。下一个响铃应该只显示绿色渐变为黑色,第三个响铃应该只有红色渐变为黑色。最外层,最厚的环用于显示色调轮周围的全部光谱,您可以在细辐条中看到(就像在其他环中一样)。

如果我颠倒了绘图块的顺序,那么最外圈就很好了,所有的内圈都搞砸了,所以笔画风格显然正在向前泄漏。我只是无法弄清楚如何或为什么,也不知道如何克服这个问题。我应该只定义四个单独的对象(例如ctx1ctx4)并分别绘制每个对象吗?

我看了different fillStyle colors for arc in canvas,但那里的建议似乎没有帮助我。其他谷歌搜索没有任何用处。

2 个答案:

答案 0 :(得分:1)

我没有长时间查看你的代码,但问题可能不在于canvas,它可能是你绘制所有内容的顺序。

你有4套,对吗?你从第一组中抽取1,从第二组抽取1,从第三组抽取1,从第四组抽取1,然后从第一组抽出1 ......

如果您更改订单,一切都会好起来的:

http://jsfiddle.net/muatT/

(懒洋洋地说,我只是复制了整个for-loop cruft。你可以大量简化代码)

答案 1 :(得分:1)

您不能对RGB值使用小数,您需要对它们进行舍入。

http://jsfiddle.net/M6KbD/