javascript - 在 html5 中构建色轮

标签 javascript html html5-canvas

我只是在学习有关 html5 canvas 的一些细节,并且在进行过程中,我正在尝试通过楔形构建一个简单的色轮(一次构建一个 1 度的楔形并将其添加到 360 度)。但是,我在渐变上得到了一些奇怪的标记,如下图所示:

wierd color marks .

这是产生色轮的 fiddle :http://jsfiddle.net/53JBM/

特别是,这是 JS 代码:

var canvas = document.getElementById("picker");
var context = canvas.getContext("2d");
var x = canvas.width / 2;
var y = canvas.height / 2;
var radius = 100;
var counterClockwise = false;

for(var angle=0; angle<=360; angle+=1){
    var startAngle = (angle-1)*Math.PI/180;
    var endAngle = angle * Math.PI/180;
    context.beginPath();
    context.moveTo(x, y);
    context.arc(x, y, radius, startAngle, endAngle, counterClockwise);
    context.closePath();
    context.fillStyle = 'hsl('+angle+', 100%, 50%)';
    context.fill();
}

如果有人能指出我做错了什么,或者如果有更好的方法来完成我正在尝试做的事情,我将不胜感激:)

最佳答案

这对你来说足够了吗,请检查

var startAngle = (angle-2)*Math.PI/180;

关于javascript - 在 html5 中构建色轮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18265804/

相关文章:

javascript - jQuery 额外的 Ghost div?需要删除功能?

html - html Canvas 的圆形裁剪

javascript - 为什么我的函数无法在 Parse Cloud Code 中运行?当我在 Angular 和 Express 中测试时它有效

javascript - 拆分内容段落,光标在哪里 - Javascript

javascript - AngularJS:ng-hide 不起作用

javascript - 如何在 fabric.js 的 Canvas 上触发自定义事件?

javascript - 遍历 NodeList : Array. prototype.forEach.call() vs Array.from().forEach

jquery - <a> 父级的事件冒泡,从 onclick 事件监听器返回 false

javascript - HTML5 Canvas 缩放图像动画

javascript - 为什么这些 x,y 坐标在 fillRect 中起作用