it-swarm.com.de

SVG: Bild dehnen

Ich spiele mit dem SVG-Tutorial herum und habe einfach ein Bild wie das folgende geladen:

<?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>

Ich erhalte ein Bild in der Mitte der viewBox über "rect", auch wenn Höhe und Breite gleich sind. Meine Fragen sind:

  • Wie dehne ich ein Bild auf die richtige Größe?
  • Warum macht "height" in "image" -Tag den Job nicht?
  • Gibt es Transformationen wie "Strecken" oder "Größe ändern", die ich verwenden kann? (Ich konnte sie nicht finden.)
23
Aleksandar

setze preserveAspectRatio = "none" für das svg Element.

58
Robert Longson

Es ist auch möglich, das Seitenverhältnis einer SVG mit reinem CSS zu skalieren und zu ändern:

transform: scale(x, y);

0
miir