目前我正在使用 svg 图形来显示拼接的“地图”。当我尝试以图案(图像)为背景绘制矩形或路径时,该图案不会使用绘制的矩形/路径的局部坐标系,而是使用全局坐标系。
这就是我在 svg 文档中定义模式的方式:
<defs>
<pattern preserveAspectRatio="true" patternUnits="userSpaceOnUse" height="24" width="50" y="0" x="0" id="black_h">
<image height="24" width="50" y="0" x="0" xlink:href="http://newlini.lokal/img/svg/black_h.png"/>
</pattern>
</defs>
这就是我将模式应用于路径的方式:
<path style="fill: url(#black_h)" d="M324 0 L324 375 L348 375 L348 0">
所以我期望的行为是,模式从路径的左上角开始,并在两个方向上重复。但在我的示例中,模式从 svg 文档的左上角开始,因此只有当 y 坐标是 24 的倍数时,路径才会看起来不错。
你知道我被困在哪里了吗?
提前致谢,
托比
编辑1:
这是我在 jsfiddle 上的问题的一个小例子:http: //jsfiddle.net/E3wBn/
编辑2:
我使用了 robertc 的建议并将我的示例 svg 更改为:
我还上传了一个示例 jpg,它显示了它以后的样子。