适用于与矩形具有相同纵横比的图像:http: //jsfiddle.net/M24gX/
<svg width="8cm" height="8cm" version="1.1">
<rect x="0" y="0" width="150px" height="150px" fill="red"/>
<image xlink:href="http://lorempixel.com/150/150/sports/"
x="0" y="0" height="150px" width="150px"/>
</svg>
不适用于与您的矩形具有不同纵横比的图像:http: //jsfiddle.net/5v9bd/
<svg width="8cm" height="8cm" version="1.1">
<rect x="0" y="0" width="150px" height="150px" fill="red"/>
<image xlink:href="http://lorempixel.com/300/150/sports/"
x="0" y="0" height="150px" width="150px"/>
</svg>
如果您希望图像填充矩形的完整 150x150 像素,而不管其纵横比如何,您:
- 分配 height="150px" 和 width="150px" (就像你已经做过的那样)
- 分配 preserveAspectRatio="none"以允许图像具有非均匀缩放
示例:http: //jsfiddle.net/Fq96J/
<svg width="8cm" height="8cm" version="1.1">
<rect x="0" y="0" width="150px" height="150px" fill="red"/>
<image xlink:href="http://lorempixel.com/300/150/sports/"
x="0" y="0" height="150px" width="150px" preserveAspectRatio="none"/>
</svg>
preserveAspectRatio 是你在使用 SVG 时绝对应该知道的属性,所以我建议阅读一些文档并尝试一下。很好的解释可以在