2010-05-27 14 views
5

Ich habe einen Text in einem Rechteck setzen inkscape mit so der Baum wie istText in einem Rechteck mit inkscape

<svg:rect><svg:text><svg:tspan>text.... 

Das Problem ist, kann ich den Text nicht. Ich habe versucht, mit der Undurchsichtigkeit des Rect zu experimentieren, ohne Erfolg. Es sollte eine Möglichkeit geben, dies von der Benutzeroberfläche aus zu tun?

bearbeiten

Beispiel wie gewünscht

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!-- Created with Inkscape (http://www.inkscape.org/) --> 
<svg 
    xmlns:dc="http://purl.org/dc/elements/1.1/" 
    xmlns:cc="http://creativecommons.org/ns#" 
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
    xmlns:svg="http://www.w3.org/2000/svg" 
    xmlns="http://www.w3.org/2000/svg" 
    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" 
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" 
    width="184.25197" 
    height="262.20471" 
    id="svg2" 
    sodipodi:version="0.32" 
    inkscape:version="0.46" 
    version="1.0" 
    sodipodi:docname="ex1.svg" 
    inkscape:output_extension="org.inkscape.output.svg.inkscape"> 
    <defs 
    id="defs4"> 
    <inkscape:perspective 
     sodipodi:type="inkscape:persp3d" 
     inkscape:vp_x="0 : 526.18109 : 1" 
     inkscape:vp_y="0 : 1000 : 0" 
     inkscape:vp_z="744.09448 : 526.18109 : 1" 
     inkscape:persp3d-origin="372.04724 : 350.78739 : 1" 
     id="perspective10" /> 
    </defs> 
    <sodipodi:namedview 
    id="base" 
    pagecolor="#ffffff" 
    bordercolor="#666666" 
    borderopacity="1.0" 
    gridtolerance="10000" 
    guidetolerance="10" 
    objecttolerance="10" 
    inkscape:pageopacity="0.0" 
    inkscape:pageshadow="2" 
    inkscape:zoom="0.64" 
    inkscape:cx="195.9221" 
    inkscape:cy="335.3072" 
    inkscape:document-units="px" 
    inkscape:current-layer="layer1" 
    showgrid="false" 
    inkscape:window-width="640" 
    inkscape:window-height="675" 
    inkscape:window-x="44" 
    inkscape:window-y="44" /> 
    <metadata 
    id="metadata7"> 
    <rdf:RDF> 
     <cc:Work 
     rdf:about=""> 
     <dc:format>image/svg+xml</dc:format> 
     <dc:type 
      rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> 
     </cc:Work> 
    </rdf:RDF> 
    </metadata> 
    <g 
    inkscape:label="Layer 1" 
    inkscape:groupmode="layer" 
    id="layer1"> 
    <rect 
     style="opacity:0.25480766;fill:#ff0000;fill-opacity:1;stroke:#000000;stroke-width:12.94795799;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" 
     id="rect2383" 
     width="150.87796" 
     height="84.226181" 
     x="18.221733" 
     y="39.557121"> 
     <text 
     xml:space="preserve" 
     style="font-size:56.0331955px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans" 
     x="44.815186" 
     y="114.0088" 
     id="text2385" 
     transform="scale(1.0054479,0.9945816)"><tspan 
      sodipodi:role="line" 
      id="tspan2387" 
      x="44.815186" 
      y="114.0088">text</tspan></text> 
    </rect> 
    </g> 
</svg> 

Ich würde erwarten, dass dies in inkscape zu sehen.

Die Problemumgehung besteht darin, Text auf eine Ebene oberhalb der Box zu platzieren (die Box wird dadurch verdeckt) und nicht versuchen, mit verschachtelten Tags clever zu werden. Schade, dass es nicht funktioniert.

+0

Möchten Sie es in Inkscape oder einem anderen Viewer anzeigen? Kannst du das komplette SVG-Dokument posten? – Ken

Antwort

10

Ein rect-Element kann keine Textelemente enthalten, das ist gemäß der SVG-Spezifikation ungültig und wird von den entsprechenden Benutzeragenten einfach ignoriert.

Legen Sie den Text nach dem Rect-Element, um sie oben zu rendern.

+0

Duh. Habe nie gedacht, das XML zu validieren. http://validator.w3.org/check ist praktisch in Abwesenheit von Netbeans oder einem anderen Validator. Ich fand die Svg dtd unbestreitbar modular, aber eher schwer zu lesen. –

Verwandte Themen