我无法让Chrome(和Opera)使用半径为十进制值的SVG过滤器。
转到http://oreillymedia.github.io/svg-essentials-examples/ch11/fe_morphology.html,然后尝试在半径字段中输入0或0.5。在Chrome中没有任何变化,但在Firefox中,腐蚀起作用了。
我有一个带小数位COMMA的语言环境,这起作用吗?用逗号将其解释为x,y。
这是一个已知问题吗?有任何解决方法吗?
答案 0 :(得分:3)
0不是radius
属性的有效值。引用规范:
radius =“ number-optional-number”
操作的半径(或半径)。如果提供两个数字,则第一个数字表示x半径,第二个值表示y半径。如果提供了一个数字,则该值将同时用于X和Y。这些值位于“过滤器”元素上的属性“ primitiveUnits”建立的坐标系中。 负值表示错误(请参阅错误处理)。值为零将禁用给定滤镜基元的效果(即结果是透明的黑色图像)。 如果未指定该属性,则效果就像指定的值为0。
半径值确定用于处理图像的卷积矩阵的大小。根据定义,矩阵必须具有整数个列和行。但是,尚不清楚分数应四舍五入还是四舍五入。
似乎Firefox总是四舍五入,而Chrome / Webkit总是四舍五入。
在任何情况下,小数值都是没有意义的,因此您应始终使用整数。