Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何排列通过SVG过滤器应用的这些磁贴?_Svg_Svg Filters - Fatal编程技术网

如何排列通过SVG过滤器应用的这些磁贴?

如何排列通过SVG过滤器应用的这些磁贴?,svg,svg-filters,Svg,Svg Filters,我正在尝试让平铺图像显示在过滤器中,并与应用它的任何其他对象正确平铺,无论其他项目在哪里绘制,也就是平铺图像应该以某种方式全局固定 svg复制问题(我知道您可能会使用模式填充来完成此操作,通常只是为了复制我遇到的问题): 代码笔: 我不在乎是否使用模式而不是feTile,只要其输出可用作过滤步骤。我觉得答案与filterUnits或primitiveUnits有关,但我真的不知道如何使用它们来解决这个问题 我不确定你能不能用过滤器做到这一点。过滤器或多或少是相对于其应用到的图元而言的。如果

我正在尝试让平铺图像显示在过滤器中,并与应用它的任何其他对象正确平铺,无论其他项目在哪里绘制,也就是平铺图像应该以某种方式全局固定

svg复制问题(我知道您可能会使用模式填充来完成此操作,通常只是为了复制我遇到的问题):


代码笔:


我不在乎是否使用模式而不是feTile,只要其输出可用作过滤步骤。我觉得答案与filterUnits或primitiveUnits有关,但我真的不知道如何使用它们来解决这个问题

我不确定你能不能用过滤器做到这一点。过滤器或多或少是相对于其应用到的图元而言的。如果尝试在“全局”(用户)空间中打印图像,则该图像可能在原始过滤器子区域中不可见,并且不会平铺

不过,您可以使用模式来实现这一点。您只需要使用
patternUnits=“userSpaceOnUse”


然后,如果您需要这样做,您可以使用图案填充作为过滤器的输入。

不清楚您要求的是什么。你是不是想让无论你在哪里画矩形,图案总是排成一行?换句话说,一个“全球”的固定位置模式?是的,对不起。无论在哪里绘制矩形,图案都应对齐。谢谢你帮我澄清。
<svg width="700" height="700">
  <defs>
    <filter width="1" height="1" id="stripe">
        <feImage xlink:href="http://i.imgur.com/T5fsm0U.png" height="160" width="80" result="patternimage"></feImage>
        <feTile in="patternimage"></feTile>
    </filter>
  </defs>
  <rect x="0" y="0" width="300" height="400" filter="url(#stripe)"></rect>
  <rect x="160" y="10" width="300" height="400" filter="url(#stripe)"></rect>
  <rect x="200" y="0" width="200" height="200" filter="url(#stripe)"></rect>
</svg>