fabricjs将图像设置为背景

时间:2015-09-16 09:31:31

标签: javascript image canvas background fabricjs

我正在寻找一种将对象永久放置在画布背面的方法。 我看到了各种各样的

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

会将对象发送到画布的背面,但是如果我添加一个新元素然后向后发送它将会在另一个图像下方,我需要避免这种情况。我不能使用canvas.setBackgroundImage,因为我正在创建一个自定义图像类,并将其设置为backgroundImage将使我失去一些功能。我想在新创建的图像上设置类似z-index的东西。例如,在初始化新图像时,我可以将lockMovementX(以及许多其他图像)设置为false或true,对于每个canvas元素的z-index,是不是没有这样的,或者我必须将我的背景元素推到后面每次画布上都有变化?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的情况 - 我想将图像作为背景图层,但由于功能受限而不希望将其应用为背景图像。

我为我的应用程序编写了一个函数,每次添加新图层时都会重新堆叠图层。我将name属性设置为此层,以便我可以快速确定需要将其发送到后面的层。

虽然这可能效率低下,但我从未遇到任何与此功能相关的性能问题。但是在我的应用程序中,我通常只有大约5到20层 - 通常在该范围的下端。