我正在使用Fabric.js在HTML Canvas 上创建一些动画。我需要这样做:

如果使用图像元素,则无法使其变为圆形,并且不能放置白色边框。
如果使用圆形对象,则无法在其中放置图像。

任何想法将不胜感激。 TIA

最佳答案

使用clipTo函数尝试这样的事情:

fabric.Image.fromURL(imageURL, function(oImg) {
    oImg.scale(1.0).set({
        left: 10,
        top: 10,
        stroke : 'white',
        strokeWidth : 100,
        clipTo: function (ctx) {
            ctx.arc(0, 0, radius, 0, Math.PI * 2, true);
          }
    });
    canvas.add(oImg).setActiveObject(oImg);
    canvas.renderAll();
});
fiddle :ojita

09-25 15:54