我可以在 Canvas 中创建图层吗?我需要一个物体上方的层和其他织物层,其中物体在该层内移动。是否可以? 我使用 fabric.js
编辑: 该组不为我服务。我需要在 Canvas 中创建区域,我可以在其中移动对象,但不能移动其他对象。并了解该区域的位置。 https://github.com/kangax/fabric.js/wiki/How-fabric-canvas-layering-works
最佳答案
至少对于织物,你可以将形状分组,并作为一个整体移动:
var canvas = new fabric.Canvas('c');
var rect1 = new fabric.Rect({ width: 100, height: 100, fill: '#0bda51' });
var circle = new fabric.Circle({ radius: 100, fill: '#4d5d53' });
var group1 = new fabric.Group([ circle, rect1 ], { left: 100, top: 100 });
canvas.add(group1);
var circle1 = new fabric.Circle({ radius: 100, fill: '#a2add0' });
var circle2 = new fabric.Circle({ radius: 75, fill: '#0038a8' });
var circle3 = new fabric.Circle({ radius: 50, fill: ' #bf94e4' });
var group2 = new fabric.Group([ circle1, circle2, circle3 ], { left: 200, top: 200 });
canvas.add(group2);
var shadow = { color: 'rgba(0,0,0,0.6)', blur: 20, offsetX: 10, offsetY: 10, opacity: 0.6, fillShadow: true, strokeShadow: true }
var rect = new fabric.Rect({ left: 100, top: 100, fill: "#8ccd7b", stroke: "#000", width: 100, height: 100, strokeWidth: 10, opacity: .8 });
rect.setShadow(shadow);
canvas.add(rect);
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.5.0/fabric.min.js"></script>
<canvas id="c" width="400" height="400"></canvas>
关于html - Canvas fabric.js 中的图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596947/