在fabricjs中放大多边形而不缩放

时间:2015-06-23 14:43:46

标签: javascript svg fabricjs

我有一个页面,其中最初加载了一个SVG,然后为SVG的每个路径应用一个类似于dynamic pattern demo中显示的方式的背景图像。

同时,我想将加载的SVG放大到屏幕大小。我在所有SVG的元素上使用了setScaleX()方法,但背景图像看起来是扭曲的,可能是因为缩放比例。

所以我尝试使用setWidth()方法,将其调用元素的原始值乘以我的比率。此解决方案适用于仅由“Rect”组成的SVG,但当内部有一些多边形时,它们不会被放大,只会更新包含框。

我可以理解这一点,设置多边形的宽度必然意味着更新其点的坐标,但这是我想要获得的效果。

那么,有没有办法在不使用setScaleX()方法的情况下在fabricjs中放大多边形?

1 个答案:

答案 0 :(得分:1)

经过很长一段时间,我找到了解决这个问题的方法。您可以在this github issue中找到并解释FabricJS行为。

我发现在FabricJS中放大多边形而不缩放多边形的方法是移动多边形的每个点,并将其乘以所需的比例。

我正在使用的代码。

ImageView iv =(Imageview) findviewbyid(R.id.activityAimageview);
iv.setBackgroundResource(R.drawable.pic);