【问题标题】:Fabricjs canvas objects not rendering properlyFabricjs 画布对象无法正确呈现
【发布时间】:2016-04-03 09:56:58
【问题描述】:

我需要有关 fabricjs 的帮助,当我克隆并缩小到另一个画布时,对象没有正确渲染。

如果我只使用文本对象没有问题,请看下面的小提琴(保存后) enter code hereFIDDLE

如果我加载图像,则对象未正确对齐。 enter code hereFIDDLE

请帮助解决这个问题。

谢谢。

【问题讨论】:

    标签: fabricjs


    【解决方案1】:

    您对图像不尊重缩放的问题是图像加载异步。因此,您从 json 加载,执行缩放逻辑,几微秒后图像完成加载并设置自己的宽度和高度。

    除此之外,您必须以正确的方式使用缩放。

    每个人都在手动缩放并使用除法或乘以比例因子来改变左和上。

    好方法是使用

    canvas.setZoom(scale);
    

    这将为您省去很多麻烦。

      $(function () {
        scale = 0.5;
        canvas1 = new fabric.Canvas('c1');
        canvas1.setDimensions({
            "width": canvas.getWidth() * scale,
            "height": canvas.getHeight() * scale
        })
        var json = localStorage.getItem('save');
        canvas1.loadFromJSON(json, function () {
            canvas1.renderAll();
        });
        canvas1.setZoom(scale);
        canvas1.renderAll();
      });
    

    chek 更新了小提琴 https://jsfiddle.net/asturur/Lep9w01L/11/

    【讨论】:

    • 非常感谢您解决了我的问题。
    • 如果正确,请接受答案,感谢您使用fabricjs :)
    猜你喜欢
    • 2020-10-10
    • 1970-01-01
    • 2015-04-12
    • 2015-06-10
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 2020-01-10
    • 1970-01-01
    相关资源
    最近更新 更多