由于 RGB 需要一个立方体来显示所有颜色,因此有更多方法来显示所有颜色。我想要一个圆圈以全彩显示彩虹中的所有颜色 - 并且单击时在其自己的小 2D 空间中显示所选颜色的所有不同亮度。
我想使用画布生成类似于此图像的内容:

我对此的尝试:
JavaScript:
function ColorPicker(element) {
this.element = element;
this.init = function() {
var diameter = this.element.offsetWidth;
var canvas = document.createElement('canvas');
canvas.height = diameter;
canvas.width = diameter,
this.canvas = canvas;
this.renderColorMap();
element.appendChild(canvas);
this.setupBindings();
};
this.renderColorMap = function() {
var canvas = this.canvas;
var ctx = canvas.getContext('2d');
var radius = canvas.width / 2;
var toRad = (2 * Math.PI) / 360;
var step = 1 / radius;
ctx.clearRect(0, 0, canvas.width, canvas.height);
for(var i = …Run Code Online (Sandbox Code Playgroud)