web-dev-qa-db-fra.com

SVG: étirer une image

Je joue avec le tutoriel SVG et j'ai simplement chargé une image comme celle-ci:

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

J'ai l'image dans le centre de viewBox, sur "rect", même si la hauteur et la largeur sont identiques. Mes questions sont:

  • Comment étirer une image pour qu'elle soit de la taille d'un rect?
  • Pourquoi "hauteur" dans "image" tag ne fait pas le travail?
  • Y a-t-il une transformation telle que "étirer" ou "redimensionner" que je peux utiliser? (Je ne les ai pas trouvées)
23
Aleksandar

set preserveAspectRatio = "none" sur l'élément svg.

58
Robert Longson

Il est également possible d’échelle et de changer les proportions d’un SVG en utilisant du CSS pur:

transform: scale(x, y);

0
miir