Javascript SVG模式不重复
我在和SVG打交道,并在以身作则。但是在我的 我的Javascript SVG模式不重复,javascript,svg,Javascript,Svg,我在和SVG打交道,并在以身作则。但是在我的 我的元素没有重复该模式。 当我更改高度和宽度属性时(不,我没有更改x,y属性),当我输入大值时,rectsvg对象就会消失。 我只是在钻研SVG,所以我的知识非常有限。我觉得这很简单,但当我把我正在做的事情与我正在做的事情进行比较时,我看不出我做得不对。你写了这个 <pattern id="OvalPattern2" patternUnits="objectBoundingBox" width="70" height="70" >
元素没有重复该模式。当我更改高度和宽度属性时(不,我没有更改x,y属性),当我输入大值时,
rect
svg对象就会消失。我只是在钻研SVG,所以我的知识非常有限。我觉得这很简单,但当我把我正在做的事情与我正在做的事情进行比较时,我看不出我做得不对。你写了这个
<pattern id="OvalPattern2" patternUnits="objectBoundingBox" width="70" height="70" >
使用objectBoundingBox时,单位1是使用它的形状的大小。因此,您的模式是使用它的对象大小的70倍。我猜你想要.7作为宽度/高度 我将图案上的宽度/高度更改为0.7,但是对于宽度/高度为140/70的矩形,我希望图案重复2x。它没有这样做。我在重复的模式之间找到了空白。有什么想法吗?如果你想让模式重复两次,那么它的宽度/高度必须是0.5Hmm。我想我有点困惑,需要更好地理解
patternUnits=“objectBoundingBox”
和patternUnits=“userSpaceOnUse”
之间的区别以及patternContentUnits的用法。切换到使用userSpaceOneUse解决了模式自动重复的问题,而不是担心调整模式的大小,使其在元素中重复正确的次数。目前,我的用例将有一个固定的模式无限期地重复。对于“objectBoundingBox”,值“1”表示元素的宽度(或高度)。因此,如果width=“0.5”和height=“1”,填充将由两个图案副本(并排)组成。对于width=“0.5”height=“0.5”,您将获得四份2x2排列的图案副本。这有意义吗?是的。这是有道理的。然而,我仍然在努力让第二个
显示模式,并让模式在rect中重新开始。有什么想法吗?