2

http://i.stack.imgur.com/MeJAo.jpg

我有一个简单的 fabric.canvas 元素,它有一个背景,我将它的宽度和高度设置为与上图相同。然后添加帽子图像。问题是调整大小控件被取代了。我在图像中也清楚地表明了这一点。

这就是我将画布添加到页面的方式

    $('#canvas_container').empty();
    canvas_el = document.createElement('canvas');
    canvas_el.id = "canvas";
    $('#canvas_container').append(canvas_el);
    canvas = new fabric.Canvas('canvas');

    var img = new Image();
    img.onload = function() {
      canvas.setWidth(this.width);
      canvas.setHeight(this.height);
      canvas.renderAll()
    }
    img.src =$(this).attr('picUrl');

    canvas.setBackgroundImage($(this).attr('picUrl'),function(){
      canvas.renderAll();
    });

这就是我添加图像的方式

      fabric.Image.fromURL('img/hat.png', function(img) {
        oImg = img.set({ left: 50, top: 50, angle: 0 })
        canvas.add(oImg);
        canvas.renderAll();
      });
4

2 回答 2

2

我在推特上得到了答案。

在更改画布的宽度和高度并添加图像之后,我立即添加了 canvas.calcOffset()。

有效。

于 2012-06-08T05:07:31.787 回答
0

在 canvas.add(oImg) 之后尝试 oImg.setCoords();

于 2012-06-07T21:15:35.173 回答