日期:2014-05-16  浏览次数:20356 次

canvas调色板绘制出来后添加功能使其可以让用户选择
本帖最后由 u011751266 于 2014-04-27 17:08:08 编辑
如题。我现在已经在canvas上画了一个调色板。
每格20*20
横竖6x6
怎么样才能够让用户点击36格中的其中一个,并且判断这一格是哪一个颜色?
让它生成为图片然后添加热点这么想行么。
下面先上代码。
var drawing =  document.getElementById("drawing");//div层#content中的canvas
if(drawing.getContext){
var context = drawing.getContext("2d");
var btn_select_color = document.createElement("input");
btn_select_color.type = "button";
btn_select_color.value = "打开调色板看看?";

var btn_close_board = document.createElement("input");
btn_close_board.type = "button";
btn_close_board.value = "关闭调色板";

var content = document.getElementById("content");//div层#content
content.appendChild(btn_select_color);
content.appendChild(btn_close_board);
function drawBoard(){
for(var i = 0;i < 6;i++){
for(var j = 0;j < 6;j++){
context.fillStyle = "rgb(0,"+Math.floor(255-i*42.5)+
","+Math.floor(255-j*24.5)+")";
context.fillRect(i*20,j*20,20,20);
}
}
}
function closeBoard(){
context.clearRect(0,0,120,120);
}
EventUtil.addHandler(btn_select_color,"click",drawBoard);
EventUtil.addHandler(btn_close_board,"click",closeBoard);
}

------解决方案--------------------
记录每个调色板所在的位置 点击时检测鼠标点击的位置 试试