Я хочу знать, в каком порядке следует применять преобразования для рендеринга маркера, который имеет
- Имеет элемент преобразования - transform = "scale"
- Атрибут MarkerUnits - setв значение «strokeWidth»
- и атрибут «refX»
SVG выглядит следующим образом
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="3.51615in"
height="0.244444in" viewBox="0 0 253.163 17.6" xml:space="preserve" color-interpolation-filters="sRGB" class="st3">
<style type="text/css">
<![CDATA[
.st1 {marker-end:url(#mrkr4-6);stroke:#000000;stroke-linecap:round;stroke-linejoin:round;stroke-width:0.239976}
.st2 {fill:#000000;fill-opacity:1;stroke:#000000;stroke-opacity:1;stroke-width:0.068959096269629}
.st3 {fill:none;fill-rule:evenodd;font-size:12;overflow:visible;stroke-linecap:square;stroke-miterlimit:3}
]]>
</style>
<defs id="Markers">
<g id="lend4">
<path d="M 2 1 L -0 0 L 2 -1 L 2 1 " style="stroke:none"/>
</g>
<marker id="mrkr4-6" class="st2" refX="-29.002700270027" orient="auto"
markerUnits="strokeWidth">
<use xlink:href="#lend4"/> <!--transform="scale(-14.501350135013)"-->
</marker>
</defs>
<g id="shape1-1" transform="translate(7.78146,-0.16)">
<path d="M0 8.96 L230.64 8.96" class="st1"/>
</g>
IЯ сначала масштабирую матрицу по ширине обводки "shape1-1" (0.239976), затем переводю эту матрицу с помощью refX (-29.002700270027), затем я перевожу матрицу туда, куда должен идти маркер (последняя точка (230.64)8.96), это маркер конца).И в конце концов я учитываю атрибут transform в элементе use.Это не похоже на правильный порядок.Это не рендеринг должным образом.
Кстати, связанный вопрос.когда в моем элементе маркера я установил для MarkerUnits значение «strokeWidth», для какого обводки следует использовать ширину обводки, заданную для элемента пути (0,239976), или для элемента маркера (0,068959096269629)?