【发布时间】:2013-07-08 06:42:27
【问题描述】:
我需要用 html5 画布画这个形状,我可以把它画成一个画布。
我需要将每个部分都作为一个唯一的对象来处理 - 聆听鼠标悬停在每个部分上,确定用户将鼠标悬停在哪个部分上,并让用户选择填充相关部分形状。
var canvas = document.getElementById('shape');
var context = canvas.getContext('2d'),
width = $('#shape').width(),
part_width = width / parts_num;
context.beginPath();
var start_x = 17,
end_x = 17 + part_width;
for (var i = 0; i < parts_num; i++) {
context.moveTo(start_x, 0);
context.lineTo(end_x,0);
context.moveTo(start_x, 0);
context.bezierCurveTo(50+start_x, 30, 40+start_x, 45, 13+start_x, 89);
context.moveTo(13+start_x, 89);
context.bezierCurveTo(0+start_x, 110, 0+start_x, 126, 27+start_x, 174);
context.moveTo(28+start_x, 174);
context.lineTo(85+start_x,174);
start_x += part_width;//80 is x starting point
};
context.lineWidth = 5;
context.strokeStyle = "red";
context.stroke();
【问题讨论】:
-
我没有足够的声誉... :-)
-
完成。请立即检查
-
我需要为整个事情使用超过 1 个画布吗?
-
你应该尝试像easeljs['createjs.com/#!/EaselJS']这样的库来管理canvas中的复杂对象。
-
酷tnx,我试试看。
标签: javascript html canvas html5-canvas