我想在我的画布上即时绘制一条路径。我知道如何使用以下 HTML5 画布代码来做到这一点:
$('#drawing-canvas').mousedown(function(e){
startx = e.pageX;
starty = e.pageY;
cxt.beginPath();
cxt.moveTo(startx,starty);
});
$('#drawing-canvas').mousemove(function(e){
cxt.lineTo(e.pageX,e.pageY);
cxt.strokeStyle='red';
cxt.lineWidth = 1;
cxt.stroke();
});
我的问题是如何使用 KineticJS 完成同样的事情。
更新:
我认为这样的事情可能会奏效。
$('#container').mousemove(function(e){
var pen = new Kinetic.Shape({
drawFunc: function(canvas) {
var context = canvas.getContext();
if(moving == false){ // grab the start xy coords from mousedown event
context.beginPath();
context.moveTo(startx,starty);
moving = true;
}
context.lineTo(e.pageX,e.pageY);
context.strokeStyle='#ff00ff';
context.lineWidth = 1;
context.stroke();
}
penlayer.add(pen);
stage.add(penlayer);
});
});
然而,处理 beginPath() 和 moveTo(..) 被证明是有问题的。我需要在 mousedown 事件上设置这些。有任何想法吗?
更新:
通过在http://www.redshiftsolutions.com/demos/whiteboard/whiteboard.html选择笔选项可以看到我想要获得的效果。这是一个使用画布和 jQuery 的简单协作白板。由于添加了拖放功能,我想将其转换为 KineticJS。