создание текста внутри прямоугольника с помощью inkscape

Я поместил текст внутри прямоугольника с помощью inkscape, поэтому дерево похоже на

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

проблема в том, что я не вижу текста. Я пробовал возиться с непрозрачностью прямой кишки безрезультатно. Должен быть способ сделать это из пользовательского интерфейса?

редактировать

пример, как просил

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

Я ожидал бы увидеть это в inkscape.

обходной путь состоит в том, чтобы поместить текст на слой над полем (намерение состоит в том, что поле затемняет слои под ним) и не пытайтесь умничать с вложенными тегами. Жаль, что это не работает.

1 ответов


элемент rect не может содержать текстовые элементы, что недопустимо в соответствии со спецификацией svg и будет просто игнорироваться совместимыми агентами пользователей.

просто поместите текст после элемента rect, чтобы они отображались сверху.