我有一个普通的矩形位图,我希望能够用来填充一个四点SVG路径 - 基本上是一个映射的纹理,使位图的四个角落映射到四相应地,路径的点和图像的其余部分被“扭曲”。纹理映射到SVG的路径
我已经能够填补SVG矩形具有相同的图像,然后变换RECT使得位图转换它:
<defs>
<pattern id="bmp" x="0" y="0" width="1" height="1">
<image x="0" y="0" width="100" height="100" href="mybmp.bmp"/>
</pattern>
</defs>
<rect x="0" y="0" width="100" height="100" fill="url(#bmp)" stroke="black" transform="skewX(10)"/>
当我尝试使用位图虽然填充路径它被映射到路径形状的边框,而不是路径本身的四点:
<defs>
<pattern id="bmp" x="0" y="0" width="1" height="1">
<image x="0" y="0" width="100" height="100" href="mybmp.bmp"/>
</pattern>
</defs>
<path d="M 0 0 L 100 0 L 120 80 L 50 120 Z" fill="url(#bmp)" stroke="black" />
是否有可能获得与第一个例子相同的效果(纹理正确映射到的各个角落矩形)以任意的路径形状?
没有,SVG并不能支持非仿射变换。 –
感谢罗伯特。看起来我必须尝试其他的东西。 – Cartmo