如何模糊fabric js中的对象(不是图像)?

sha*_* sk 6 html javascript jquery fabricjs

我们可以使用像矩形、多边形这样的fabricjs 来模糊 Canvas 中的对象吗?至少可以柔化对象的边缘。

更新:

我有另一种方法,我们可以模糊物体的阴影。因此,模糊对象阴影比将偏移设置为相反方向,如下所示:

var canvas = new fabric.Canvas("my-canvas");

var rect = new fabric.Rect({
    top: -600,
    left: 100,
    fill: 'red',
    width: 100,
    height: 100,
    opacity: 0.5
});
rect.setShadow({
     color: 'red',
     blur: 7,
     offsetX: 0,
     offsetY: 700
});
canvas.add(rect);
Run Code Online (Sandbox Code Playgroud)
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.1.0/fabric.all.min.js"></script>

<canvas id="my-canvas" height="400" width="400"></canvas>
Run Code Online (Sandbox Code Playgroud)

但问题是我们不能globalCompositeOperation为此使用选项

Ric*_*ton -4

fabricjs是 HTML5 API 的高级库canvas。在 Fabric 中,您处理的是画布对象本身,而不是上下文。要模糊对象,只需设置opacity该对象的属性即可。

var canvas = new fabric.Canvas("my-canvas");

var rect = new fabric.Rect({
    top: 100,
    left: 100,
    fill: 'red',
    width: 40,
    height: 40,
    opacity: 0.5
});

canvas.add(rect);
Run Code Online (Sandbox Code Playgroud)
<script src="http://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.1.0/fabric.all.min.js"></script>

<canvas id="my-canvas" height="400" width="400"></canvas>
Run Code Online (Sandbox Code Playgroud)