如何在HTML5画布上绘制颜色选择器?
答案 0 :(得分:3)
一个基本示例是使用getImageData
:http://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中有几个例子。