2012-09-17 57 views
19

我与SVG教程玩弄我只是装一个这样的形象:SVG:伸展图像

<?xml version="1.0" standalone="no"?> 
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> 

<svg style="stroke-linejoin:round; stroke:black; stroke-width:0.5pt; text-anchor:middle; fill:none" xmlns="http://www.w3.org/2000/svg" font-family="Helvetica, Arial, FreeSans, Sans, sans, sans-serif" height="400px" width="400px" version="1.1" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 250 250"> 
    <rect y="0" x="0" height="250" width="250" stroke="black" stroke-width="1" fill="blue" /> 
    <image y="0" x="0" height="250" width="250" xlink:href="http://www.blueprintmodel.co.uk/images/DSCF1438.jpg" /> 
</svg> 

我得到的图像中视框的中心,在“矩形”,即使高度和宽度相同。 我的问题是:

  • 如何将图像拉伸为rect的大小?
  • 为什么“图片”标签中的“高度”无法完成这项工作?
  • 有没有像“拉伸”或“调整”,我可以使用?(我找不到它们)
+0

在图像上尝试transform =“scale(2)”这样的转换属性 – philipp

+0

我已经试过了,但我需要的是将其拉伸为250x250,所以,它可以工作,但在这种情况下我需要要知道图片的格式,例如,如果图片是4:2,transform =“scale(0.5)”将做这件事。问题是我需要它的任何图片。 – Aleksandar

回答

45

设置preserveAspectRatio = svg元素的“无”的转变。

+0

就是这样。谢谢。 – Aleksandar

+2

请注意,这可能不适用于某些(和许多移动设备)浏览器。 @Aleksandar –