Fabric.js 剪辑画布(或对象组)到多边形
我有一个在 Fabric.js 中绘制的画布,我正在向其中添加一组矩形,我想将这些矩形的边缘限制为一个组,以免超出某个区域.
I have a canvas drawn in Fabric.js that i am adding a group of rectangles to, i want to limit the edges of those rectangles as a group to not go outside a certain area.
想象制作一件条纹 T 恤,条纹是用一系列矩形制成的,我需要让它们保持 T 恤的形状.
Imagine making a stripy t-shirt, the stripes are make by using a series of rectangles and i need to keep them to the shape of the t-shirt.
我认为最好将整个画布剪成 T 恤的形状,所以我添加的任何内容都保留在 T 恤内,但我被卡住了.到目前为止,我只剪辑到基本的圆形和矩形.
I think its better to clip the entire canvas to the shape of the t shirt, so anything i add to it remains within the t-shirt but i am stuck. So far i am only clip to basic circles and rectangles.
谢谢
推荐答案
你可以在 canvas.clipTo
中渲染一个形状 :)
You can just render a shape inside canvas.clipTo
:)
我刚刚在 kitchensink 中加载了一个随机的 SVG 形状并执行了以下操作:
I just loaded a random SVG shape in kitchensink and did this:
var shape = canvas.item(0);
canvas.remove(shape);
canvas.clipTo = function(ctx) {
shape.render(ctx);
};
如您所见,整个画布现在都被该 SVG 形状剪裁了.
As you can see, entire canvas is now clipped by that SVG shape.
相关文章