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

时间:2011-07-25 16:04:09

标签: javascript html5 canvas color-picker

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

3 个答案:

答案 0 :(得分:3)

一个基本示例是使用getImageDatahttp://jsfiddle.net/eGjak/60/

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());
});

答案 1 :(得分:3)

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

http://www.html5canvastutorials.com/labs/html5-canvas-color-picker/

我们的想法是找到您喜欢的颜色选择器图像,然后在画布上绘制它。在mousedown事件中,我们可以获取鼠标坐标,然后使用颜色选择器图像的图像数据来挑选颜色。

希望这有帮助!

答案 2 :(得分:2)

您必须手动绘制颜色。然后你需要在该区域中监听鼠标点击,然后在点击位置获得颜色。

最大的问题是如何绘制颜色。 Drawing Color Spectrums中有几个例子。