如何在fabricjs多边形中创建一个洞

时间:2016-03-03 13:24:11

标签: javascript jquery fabricjs

我想用fabricjs在多边形内部打一个洞。我可以使用普通的逆时针html5画布制作它,如下所示,但我更喜欢使用fabricjs。有没有人知道如何使用' fabriicjs'

来实现附加图像

像这样:

enter image description here

1 个答案:

答案 0 :(得分:1)

以下是在FabricJS上绘制剪切多边形的一种方法:

AFAIK,FabricJS尚不支持从多边形创建切口所需的合成,所以这是一种解决方法。

  1. 将剪切多边形绘制到html5画布上。 For example

    • 从指定点绘制多边形。
    • 设置.globalCompositeOperation='destination-out'。这将导致所有新图纸充当“橡皮擦”,并将删除新图纸下的任何现有像素。
    • 从指定点绘制剪切块。
  2. 使用html5画布作为新Fabric.Image的图像源。

    // Create your polygon with transparent cuts on this html5 canvas
    // Use destination-out compositing to "punch holes" in your polygon
    var html5canvas=document.getElementById('myhtml5CanvasElement');
    
    // then use the html5 canvas as an image source for a new Fabric.Image
    var c=new Fabric.Image(html5Canvas);