¿Cómo aplicar la matriz de transformación a las coorderadas de ruta en Raphael JS 2?

Quiero aplicar o 'hornear' una transformación de varias routes en Raphael JS 2, para poder combinarlas en una sola ruta.

Aquí hay una ruta de ejemplo, donde me gustaría que el atributo "transformar" se aplicara a todas las coorderadas "d".

<path style="" fill="#000000" stroke="none" d="M150,-265C182,-275,171,-220,180,-194L178,-194C181,-192,180,-185,181,-180C211,-169,282,-173,306,-166C308,-169,316,-171,315,-165C268,-157,225,-148,184,-137C188,-118,186,-96,190,-79L282,-131C289,-131,296,-135,297,-126C293,-118,271,-105,236,-80C190,-48,155,-20,125,-6C112,-15,115,-34,111,-51C121,-70,108,-107,107,-133C70,-132,-5,-126,0,-157C18,-170,39,-181,64,-191C75,-190,92,-181,100,-185C99,-198,95,-211,89,-225Z" transform="matrix(0.1389, 0, 0, 0.1389, 291.91, 235.465)" stroke-width="7.199999999999999"> 

Entiendo que svg-edit framework puede convertir coorderadas de ruta a posiciones absolutas y eliminar la matriz de transformación en el process.

Algunas preguntas relacionadas, de las que no pude get mi respuesta:

  • La cocción se transforma en commands del elemento de ruta SVG
  • ¿Cómo aplicar una matriz de transformación?

Aquí hay un jsFiddle que aplica todas las transformaciones para usted: http://jsfiddle.net/ecmanaut/cFSjt/

Es posible que Raphael exponga todas o algunas de las herramientas que he llenado yo mismo, pero si no, estas funcionan bien. Si sus necesidades también cubren más elementos que no son de ruta (como grupos, rectas, círculos, elipses, etc.), primero conviértalos en elementos de ruta (usando pathify , por ejemplo).

Se puede encontrar una solución parcial en este jsFiddle: http://jsfiddle.net/X6YNm/1/

 //include whoa font, and raphael paper = Raphael('holder'); var text = paper.print(300, 50, 'Foo', paper.getFont('whoa'), 50, 'baseline'); var path = new Array(); for ( var i = 0; i < text.length; i ++ ) { path[i] = paper.path(Raphael.pathToRelative(text[i].attr('path'))); path[i].attr({ fill: 'networking' }).translate(i * 250, 300); } 

Crea una nueva ruta, basada en cada personaje en el set original. Sin embargo, el violín no espacia correctamente los caracteres.

Algunas discusiones relacionadas en el grupo de google de raphael: Algunas discusiones de grupos de google aquí: https://groups.google.com/d/msg/raphaeljs/OP29oelR5Eg/zPi5m6rjsvIJ