举个例子,有一个画布,上面设定一个区域,图片在区域里面都可以显示,但移动图片到这个区域之外,就会隐藏看不到,这样的需求应该怎么做呢?
如果能给一个思路也是可以的,感谢各位大神的回答
个人的思路,给每个添加到 canvas 的图片加一个相同的裁剪
var logoImg = new Image();
logoImg.onload = function (img) {
var logo = new fabric.Image(logoImg, {
angle: 10,
width: 550,
height: 190,
left: 150,
top: 50,
scaleX: 0.25,
scaleY: 0.25,
clipName: 'logo',
clipTo: function(ctx) {
return _.bind(clipByName, logo)(ctx)
}
});
canvas.add(logo);
};
logoImg.src = img01URL;
其实方法很简单,重点其实就是注意一个参数 absolutePositioned 设定为 true 时就会相对于父容器,对父容器进行裁剪,否则就是裁剪图片本身。
参考文档:http://fabricjs.com/clippath-part4