首页 > 解决方案 > 在fabric.js中将文本锁定在前面(不是每次都放在前面)

问题描述

有没有办法不使用:

canvas.sendBackwards(myObject)
canvas.sendToBack(myObject)

基本上我希望能够上传多个图像,同时让它们能够前进和后退,但永远不会到达最高层(应该始终是文本,即使有超过 2 个文本层)

我最好将所有文本图层分组并运行bringToFront,任何时候上传图像/项目向前/向后移动?还是有更好的方法来锁定他们的 z-index 位置?

标签: javascripthtmlcanvasfabricjs

解决方案


正如您在 css 中看到的那样,Fabric.JS 并没有真正的 z-index 功能。相反,画布上的对象像一个数组一样工作,其中每个对象的索引决定了它在堆叠顺序中的位置。使用 'canvas.insertAt()' 添加对象将让您指定特定索引以将对象插入数组中,并且数组的长度始终取决于画布中有多少对象。

因此,在索引 0 处插入对象将移动数组中的其他对象,以便新对象呈现在堆叠顺序的底部。


推荐阅读