svg - SVG 过滤器中的小数
问题描述
我无法让 Chrome(和 Opera)使用半径为十进制值的 SVG 过滤器。
转到http://oreillymedia.github.io/svg-essentials-examples/ch11/fe_morphology.html并尝试在半径字段中输入 0 或 0.5。在 Chrome 中没有变化,但在 Firefox 中,侵蚀有效。
我有一个带十进制逗号的语言环境,这会起作用吗?使用逗号,它会被解释为 x,y。
这是一个已知问题吗?任何解决方法?
解决方案
radius
零不是该属性的有效值。引用规范:
半径=“数字可选数字”
操作的半径(或半径)。如果提供了两个数字,则第一个数字表示 x 半径,第二个值表示 y 半径。如果提供了一个数字,则该值用于 X 和 Y。这些值位于由“filter”元素上的属性“primitiveUnits”建立的坐标系中。负值是错误(请参阅错误处理)。零值禁用给定过滤器基元的效果(即,结果是透明的黑色图像)。如果未指定属性,则效果如同指定了值 0。
半径值决定了用于处理图像的卷积矩阵的大小。根据定义,矩阵必须具有整数个列和行。然而,规范并不清楚分数是否应该向上或向下舍入。
似乎 Firefox 总是向上取整,而 Chrome/Webkit 总是向下取整。
在任何情况下,小数值都是没有意义的,所以你应该总是使用整数。
推荐阅读
- php - 重音字符的 PHP 正则表达式
- java - 运行“Java 中的数据结构和算法”一书中的旧 Java 小程序
- react-native - 自定义 React 抽屉导航
- symfony - 如何使用文档中提到的服务来生成 url?
- php - 如何使用我的自定义 foreach 循环数据的 joomla 分页
- javascript - JS 库的 Angular 包装器不加载样式
- c# - 数字范围的正则表达式
- oracle - sysdate 到 unix 时间戳
- jakarta-ee - OpenShift 中缺少 Payara 服务器的 AMX http-listener 线程池 MBean
- python - 是否有用于逐行迭代代码的 Python 函数(句法而不是词法)