在转换为SVG之前如何“应用”缩放和设置织物图像的高度

时间:2019-08-21 12:04:32

标签: angular svg fabricjs

我正在使用Fabricjs在画布上加载图像并将其转换为base64:

fabric.Image.fromURL(url, (img) => {
  var imgurl = img.toDataURL({});
  fabric.Image.fromURL(imgurl,(urlimg)=>{
    this.canvas.add(urlimg);
    this.canvas.setActiveObject(urlimg);
  });
});

然后,我允许用户对其进行缩放并设置对象的比例:

this.activeObject.set({ scaleX: 0.5 });
this.activeObject.set({ scaleY: 0.5 });

然后我将画布转换为SVG,图像的比例和位置为:

matrix(0.5 0 0 0.5 337 210)  >

我想要的比例是1,并且位置也相应更改了,

matrix(1 0 0 1 390 270)

因为当我使用SVG在SVG中添加动画时,图像会自动调整为原始比例,并在动画后返回到设置比例,这不是我期望的行为。 有什么方法可以将缩放比例“应用”到fabric.Image上并丢失有关原始尺寸的信息吗?

0 个答案:

没有答案