如何清除画布的特定元素?

骇客

canvas.clear如果我只想清除某些元素,如何使用Fabric.js 我的意图是在按下“删除”按钮后清除背景,但保留字体。我该如何实现?它们都被添加到画布上,因此如果我使用canvas.clear它们,它们都将被删除。

我必须使用两个画布吗?

JSFiddle演示

var canvas = new fabric.Canvas('canvas');

var textObj1 = new fabric.Text('font test', {
  left: 100,
  top: 350,
  fontSize: 30,
  fill: "#FF0000" // Set text color to red
});

canvas.add(textObj1);

fabric.Image.fromURL('http://s17.postimg.org/4740ku7z3/i_Stock_000000284123_XSmall.jpg', function(oImg) {
  // scale image down, and flip it, before adding it onto canvas
  oImg.scale(1);
  oImg.selectable = false;
  canvas.add(oImg);
});

function deleteimg() {
  canvas.clear();
};
<canvas id="canvas" width="800" height="450" style="border:1px solid #000000"></canvas>

<button class="button-big" onclick="deleteimg()">delete</button>
何塞·安东尼奥·里亚扎·瓦尔韦德

您必须重新绘制除背景以外的所有内容:

function draw( background ) {

    var canvas = new fabric.Canvas( 'canvas' );

    canvas.clear();

    var textObj1 = new fabric.Text('font test', {
        left: 100,
        top: 350,
        fontSize: 30,
        fill: "#FF0000" // Set text color to red
    });

    canvas.add(textObj1);

    if ( background ) {
        fabric.Image.fromURL( 'http://s17.postimg.org/4740ku7z3/i_Stock_000000284123_XSmall.jpg', function (oImg) {
            // scale image down, and flip it, before adding it onto canvas
            oImg.scale(1);
            oImg.selectable = false;
            canvas.add(oImg);
        } );
    }

}

// Call function with background
draw( true );

function deleteimg(){

    // Call function without background
    draw( false );

};

http://jsfiddle.net/o6a2uot4/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaFX:如何清除画布

来自分类Dev

我如何清除画布?

来自分类Dev

清除画布的特定上下文

来自分类Dev

使用画布清除特定圆以外的区域

来自分类Dev

如何获得画布的元素?

来自分类Dev

如何使用按钮在Android中清除画布?

来自分类Dev

如何清除WPF中画布的内容?

来自分类Dev

使用jQuery,如何清除画布上的项目?

来自分类Dev

如何清除JavaScript中的绘图画布?

来自分类Dev

如何延迟加载画布元素

来自分类Dev

删除Tkinter画布中的特定元素

来自分类Dev

如何清除 SimpleAdapter 中的元素?

来自分类Dev

如何通过其坐标单击画布中的特定元素(使用WebDriver)?

来自分类Dev

如何清除HTML画布中某节的反面?

来自分类Dev

如何在Tkinter中更新,暂停和清除FigureCanvasTkAgg画布

来自分类Dev

单击按钮后如何清除画布和按钮(及其功能)?

来自分类Dev

如何清除画布的一部分?

来自分类Dev

无法清除画布

来自分类Dev

html画布无法清除

来自分类Dev

清除HTML画布

来自分类Dev

无法清除画布

来自分类常见问题

如何设置画布元素的“ z-index”?

来自分类Dev

如何获取画布中图像元素的坐标

来自分类Dev

如何使用CSS设置画布元素的样式

来自分类Dev

如何在画布中捕获元素?

来自分类Dev

如何在画布元素上绘制视频?

来自分类Dev

如何调整包含元素的画布的尺寸?

来自分类Dev

如何设置画布元素的“ z-index”?

来自分类Dev

如何使用python(Selenium)Webscrap画布元素