如何使用feTurbulence
过滤器或过滤器组合在SVG中创建无缝平铺的噪声?
我希望获得与Gimp的Filters/Render/Noise/Solild Noise...
类似的结果。
正如迈克尔·穆兰尼(Michael Mullany)所说:可以使用stitchTiles="stitch"
属性来完成。
关于使用Inkscape处理此属性,我在InkScape错误中找到了此参考:UI for setting stitchTiles attribute (feTurbulence) missing in the filters editor。不幸的是,该功能将与InkScape v0.93一起实现,(仍然不可用AFAIK)
这里是具有feTurbulence
属性的无缝平铺SVG stitchTiles="stitch"
的示例:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 512 512" height="512" width="512">
<defs>
<filter x="0" y="0" width="100%" height="100%" id="myStichedNoise" style="color-interpolation-filters:sRGB;">
<feTurbulence type="fractalNoise" stitchTiles="stitch" numOctaves="4" baseFrequency="0.0125"/>
<feColorMatrix values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" />
</filter>
<pattern id="myPattern" width="33.33333%" height="33.33333%">
<rect width="33.33333%" height="33.33333%" style="color:#000000;filter:url(#myStichedNoise)"/>
</pattern>
</defs>
<rect fill="url(#myPattern)" width="100%" height="100%"/>
</svg>