Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在HTML5画布上创建颜色选择器_Javascript_Html_Canvas_Color Picker - Fatal编程技术网

Javascript 在HTML5画布上创建颜色选择器

Javascript 在HTML5画布上创建颜色选择器,javascript,html,canvas,color-picker,Javascript,Html,Canvas,Color Picker,如何在HTML5画布上绘制颜色选择器?您必须手动绘制颜色。然后,您需要在该区域中聆听鼠标单击,然后在单击位置获取颜色 最大的问题是如何绘制颜色。中有几个示例。一个基本示例是使用getImageData: 我在HCT上为您创建了一个解决方案。你可以在这里看到: 这个想法是找到一个你喜欢的颜色选择器图像,然后把它画在画布上。在mousedown事件中,我们可以获得鼠标坐标,然后使用颜色选择器图像的图像数据来拾取颜色 希望这有帮助 考虑到问题的详细阐述,答案可能是:使用for循环。你能告诉我们你已经试

如何在HTML5画布上绘制颜色选择器?

您必须手动绘制颜色。然后,您需要在该区域中聆听鼠标单击,然后在单击位置获取颜色


最大的问题是如何绘制颜色。中有几个示例。

一个基本示例是使用getImageData:


我在HCT上为您创建了一个解决方案。你可以在这里看到:

这个想法是找到一个你喜欢的颜色选择器图像,然后把它画在画布上。在mousedown事件中,我们可以获得鼠标坐标,然后使用颜色选择器图像的图像数据来拾取颜色


希望这有帮助

考虑到问题的详细阐述,答案可能是:使用for循环。你能告诉我们你已经试过了什么吗?我知道如何提取当前颜色,我不知道如何绘制。
var ctx = $('#cv').get(0).getContext('2d');

for(var i = 0; i < 30; i++) {
    for(var j = 0; j < 30; j++) {
        ctx.fillStyle = 'rgb(' + 
            ((i/30*255)|0) + ',' + 
            ((j/30*255)|0) + ',' +
            '0)';

        ctx.fillRect(i * 10, j * 10, 10, 10);
    }
}

$('#cv').click(function(e) {
    // get pixel under mouse cursor
    var data = ctx.getImageData(e.offsetX, e.offsetY, 1, 1).data;
    alert('rgb: ' + [].slice.call(data, 0, 3).join());
});