javascript - 在fabric.js中将文本锁定在前面(不是每次都放在前面)
问题描述
有没有办法不使用:
canvas.sendBackwards(myObject)
canvas.sendToBack(myObject)
基本上我希望能够上传多个图像,同时让它们能够前进和后退,但永远不会到达最高层(应该始终是文本,即使有超过 2 个文本层)
我最好将所有文本图层分组并运行bringToFront,任何时候上传图像/项目向前/向后移动?还是有更好的方法来锁定他们的 z-index 位置?
解决方案
正如您在 css 中看到的那样,Fabric.JS 并没有真正的 z-index 功能。相反,画布上的对象像一个数组一样工作,其中每个对象的索引决定了它在堆叠顺序中的位置。使用 'canvas.insertAt()' 添加对象将让您指定特定索引以将对象插入数组中,并且数组的长度始终取决于画布中有多少对象。
因此,在索引 0 处插入对象将移动数组中的其他对象,以便新对象呈现在堆叠顺序的底部。
推荐阅读
- javascript - 如何将图标添加到 chrome 扩展?
- reactive-programming - 反应式单声道如何将订阅上下文传播到`doOnSubscribe`和`doFinally`
- jquery - jQuery 和 CSS:侧边栏应该在 flexbox 内容之上推出,而不影响主要区域
- c++ - 摆脱“未声明的标识符”错误
- html - 为什么我的 HTML 表单显示奇怪的符号?
- c# - C#程序返回通过Active Directory连接的开机机器
- python - 在python中添加列表的意外结果
- javascript - 为什么我们在 javascript 中的 .split 函数之前放置 ''
- javascript - 如何检测用户是否滑动浏览器后退导航
- vue.js - Nuxt 2.12.2:使用新的 fetch 方法填充存储