html - Canvas fabric.js 中的图层

标签 html canvas html5-canvas fabricjs

我可以在 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/

相关文章:

html - 我如何使这个正确的内容响应?

javascript - 如何使用 Google App Script HTML 服务从用户获取 VideoListByID 查询数据

javascript - 网站上的 Google 搜索栏

javascript - 调整窗口大小后 Canvas 动画速度加快

javascript - HTML Canvas 和 Javascript - 模拟悬停滚动事件

javascript - 将toDataUrl base64字符串转成页面上的图片

javascript - 将本地存储中的元素添加到 html 下拉菜单的建议

Javascript 奇怪的随机行为

three.js - ThreeJs 通过 Canvas 看鼠标的协调性不好

JavaScript Canvas 。固定线宽与变换无关