Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fabricjs将图像设置为背景_Javascript_Image_Canvas_Background_Fabricjs - Fatal编程技术网

Javascript fabricjs将图像设置为背景

Javascript fabricjs将图像设置为背景,javascript,image,canvas,background,fabricjs,Javascript,Image,Canvas,Background,Fabricjs,我正在寻找一种将对象永久放置在画布背面的方法。 我看到各种各样的 canvas.sendBackwards(myObject) canvas.sendToBack(myObject) 将对象发送到画布的背面,但如果我添加一个新元素,然后将其向后发送,它将位于另一个图像的下方,我需要避免这种情况。我无法使用canvas.setBackgroundImage,因为我正在创建一个自定义图像类,并将其设置为backgroundImage将使我失去一些功能。我想在新创建的图像上设置类似于z索引的内容。例

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

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

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

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

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


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

这与我最后使用的解决方案相同,但在我看来效率不高,所以我希望有人能用更好的解决方案来回答。我也没有任何性能问题,只是对我来说它看起来不是一个“干净”的解决方案。@promInc你能分享你的解决方案吗?抱歉@user2810718我再也没有访问该代码的权限了,而且已经3年多没有在fabricJS工作了。。。。