2012-09-17 31 views
19

gram około z samouczka SVG, a ja po prostu załadowany obraz tak:SVG: rozciągania obrazu

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

uzyskać obraz w centrum viewBox, nad „rect”, nawet jeśli wysokość a szerokość jest taka sama. Moje pytania są następujące:

  • Jak rozciągnąć obraz do rozmiaru rect?
  • Dlaczego "wysokość" w tagu "obraz" nie spełnia swojej roli?
  • Czy jest transformacja typu „stretch” lub „rozmiar”, które można używać? (Nie mogłem ich znaleźć)
+0

wypróbuj atrybut transformaty jak transform = "scale (2)" na obrazku – philipp

+0

Próbowałem już tego, ale potrzebuję rozciągnąć go na 250x250, więc może działać, ale w tym przypadku potrzebuję znać format obrazu, na przykład, jeśli obraz wynosi 4: 2, transformacja = "scale (0.5)" zrobi to. Problem polega na tym, że potrzebuję go do każdego zdjęcia. – Aleksandar

Odpowiedz

45

ustawić preserveAspectRatio = „none” na elemencie SVG.

+0

To wszystko. Dziękuję Ci. – Aleksandar

+2

Pamiętaj, że to może nie działać w przypadku niektórych (i wielu mobilnych) przeglądarek. @Aleksandar –

Powiązane problemy