【问题标题】:fabricjs set image as backgroundfabricjs 将图像设置为背景
【发布时间】:2015-12-12 19:29:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript image canvas background fabricjs


    【解决方案1】:

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

    我确实为我的应用程序编写了一个函数,每次添加新层时都会重新堆叠层。我为这个层设置了名称属性,这样我就可以快速识别出需要发送到后面的层。

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

    【讨论】:

    • 这与我最后使用的解决方案相同,但对我来说似乎效率不高,所以我希望有人能用更好的解决方案来回答。我也没有遇到任何性能问题,只是对我来说这不是一个“干净”的解决方案。
    • @promInc 你能分享你的解决方案吗?
    • 抱歉 @user2810718 我无法再访问该代码,并且已经 3 年多没有在fabricJS 中工作了......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2017-01-11
    相关资源
    最近更新 更多