我有一个页面,其中最初加载了一个SVG,然后为SVG的每个路径应用一个类似于dynamic pattern demo中显示的方式的背景图像。
同时,我想将加载的SVG放大到屏幕大小。我在所有SVG的元素上使用了setScaleX()
方法,但背景图像看起来是扭曲的,可能是因为缩放比例。
所以我尝试使用setWidth()
方法,将其调用元素的原始值乘以我的比率。此解决方案适用于仅由“Rect”组成的SVG,但当内部有一些多边形时,它们不会被放大,只会更新包含框。
我可以理解这一点,设置多边形的宽度必然意味着更新其点的坐标,但这是我想要获得的效果。
那么,有没有办法在不使用setScaleX()
方法的情况下在fabricjs中放大多边形?
答案 0 :(得分:1)
经过很长一段时间,我找到了解决这个问题的方法。您可以在this github issue中找到并解释FabricJS行为。
我发现在FabricJS中放大多边形而不缩放多边形的方法是移动多边形的每个点,并将其乘以所需的比例。
我正在使用的代码。
ImageView iv =(Imageview) findviewbyid(R.id.activityAimageview);
iv.setBackgroundResource(R.drawable.pic);