我创建了一个带圆,矩形和直线的简单图像标记。我怎样才能删除我不需要的形状。我在数组中存储了坐标点。我该如何处理任何帮助。 Here is the fiddle
这是推入数组的功能
function onMouseUp(event) {
console.log(cPath.points[0]);
console.log(cPath.downpoints[0]);
if(set == 1){
i++;
circles.push(circle);
createElem('circle', i);
cPath.points.push(event.point);
cPath.downpoints.push((event.downPoint - event.point).length);
}else if(set == 2){ j++;
rects.push(rect);
createElem('rect', j);
}else if(set == 3){
k++;
lines.push(line);
createElem('line', k);
}else if(set == 4){
l++;
createElem('Free Path', l);
}
};
答案 0 :(得分:0)
根据paperjs documentation路径有一个remove() method,它会从您的paperjs文档中删除路径
当您在数组中保存所有项目(路径)时,从画布中删除它们相对容易。这是一个示例javascript片段,它将删除给定数组中的所有项目:
function removeItems(items) {
var len = items.length;
while(--len < -1) {
// remove item from the document using paperjs method
items[len].remove();
// also remove the item from our own array
items.splice(len, 1);
}
}
http://jsfiddle.net/PLzDC/3/
这是一个小提琴,展示了如何在绘制圆圈时删除所有矩形(它在mouseUp上删除它们)
修改强>
摘要删除仅具有给定数组的给定名称的项目
function removeItems(items, name) {
var len = items.length;
while(--len < -1) {
if(items[len].name == name) {
// remove item from the document using paperjs method
items[len].remove();
// also remove the item from our own array
items.splice(len, 1);
}
}
}
用法(考虑到你在创作时实际上给圆圈命名'circle1'):
removeItems(circles, 'circle1');