[英]Make drag and drop canvas object using kineticjs
我在工具欄中有多個畫布對象。 我想為小提琴之類的畫布對象添加拖放功能。 我怎樣才能做到這一點?
JS代碼
$(function(){
var stage = new Kinetic.Stage({
container: 'toolbar',
width: 350px,
height: 350px
});
var layer = new Kinetic.Layer();
stage.add(layer);
var line = new Kinetic.Shape({
x:0,
y:0,
stroke:"blue",
fill: 'black',
drawFunc: function(context) {
context.beginPath();
context.moveTo(20,5);
context.quadraticCurveTo(10, 35, 20, 60);
context.moveTo(20,5);
context.quadraticCurveTo(30, 35, 20, 60);
context.fillStrokeShape(this);
}
});
var line2 = new Kinetic.Rect({
x: 60,
y: 8,
width: 40,
height: 40,
fill: "red",
});
layer.add(line);
layer.add(line2);
layer.draw();
});
畫布內容不能從畫布元素中拖出。
因此,如果頂部工具欄是包含畫布形狀的畫布,則不能將這些形狀從工具欄拖到下面的第二個畫布上。
幾種解決方法:
代替使用工具欄div和畫布放置區,制作1個可以同時繪制工具欄和放置區的畫布。 這樣,您可以將內容從畫布的頂部(工具欄所在的位置)拖動到畫布的底部(放置區所在的位置)。
將每個形狀變成圖像。 您可以通過以下方式做到這一點:
祝您項目順利!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.