Ist es möglich, ein Inkscape-SVG-Dokument in ein anderes einzubetten oder zu verknüpfen?

Ist es möglich, ein Inkscape-SVG-Dokument in ein anderes einzubetten oder zu verknüpfen?

Ich möchte eine kleine SVG-Datei (erstellt mit Inkscape) nehmen und sie in eine andere (größere) einbetten oder verknüpfen. Bei der Anzeige in einem Browser hoffe ich, dass die kleinere Datei in einem Platzhalter der größeren angezeigt wird.

Ist es möglich?

Antwort1

Bevorzugen Sie <use>dies <image>, da letzteres mit einer festen Auflösung gerendert wird und nicht wie normale Vektorobjekte im aktuellen Dokument skaliert wird.http://www.w3.org/TR/SVG11/struct.html#ImageElement

Das Element <use>kann jedoch nicht auf ganze SVG-Dateien verweisen. Sein xlink:hrefAttribut ist ein Verweis auf ein Element/Fragment innerhalb eines SVG-Dokuments (http://www.w3.org/TR/SVG11/struct.html#UseElement). Das Element „use“ kann auf jede lokale oder nicht lokale Ressource verweisen.

Beispiel:

MyLibrary.svg:
<svg (...)>
        <rect x="0" y="0" width="200" inkscape:label="upper-left-blue"
              style="fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none"
              id="upper-left-blue" height="200"/>

UseParts.svg:
        <use x="0" y="0" width="400" xmlns:xlink="http://www.w3.org/1999/xlink"
             xlink:href="MyLibrary.svg#upper-left-blue" xlink:type="simple"
             xlink:actuate="onLoad" height="400" id="use8793" xlink:show="embed"/>

Die Unterstützung dieser Funktion kann bei verschiedenen SVG-Editoren/-Viewern unterschiedlich sein, soweit ich weiß, sollte es (zumindest) in Inkscape, Firefox und Batik funktionieren.

Antwort2

Verwenden Sie dieimageElement und verweisen Sie auf Ihre SVG-Datei. Speichern Sie zum Spaß Folgendes als recursion.svg:

<svg width="100%" height="100%" viewBox="-100 -100 200 200" version="1.1"
     xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <circle cx="-50" cy="-50" r="30" style="fill:red" />
  <image x="10" y="20" width="80" height="80" xlink:href="recursion.svg" />
</svg>

Quelle:https://stackoverflow.com/questions/5451135/embed-svg-in-svg/5451238#5451238

verwandte Informationen