2011-12-02 19 views
7

Raphael JS 2'deki çeşitli yolların dönüştürülmesini veya 'fırlatılmasını' istiyorum, böylece bunları tek bir yolla birleştirebilirim.Rapora matrisi Raphael JS 2'deki yol koordinatlarına nasıl uygulanır?

"Dönüştür" özniteliğinin tüm "d" koordinatlarına uygulanmasını istediğim bir örnek yol burada.

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

I yolu dönüştürmek svg düzenleme çerçeve mutlak pozisyonlarına koordinatları anlamak ve bu süreç içinde matrisi çıkarın.

+0

Kümedeki her yol için orijinal dönüşümü sakladım. Her seti dönüştürmem gerektiğinde, önce saklanan dönüşümleri kullanarak bireysel yolları "... T" ye dönüştürürüm. Bu çözüm ideal değildir, çünkü büyük setler için laggy sürükleme yapar. – Jedateach

+0

SvgToHtml, yol koordinatlarını mutlak konumlara dönüştürecek ve işlemdeki dönüştürme matrisini kaldıracaktır. http://irunmywebsite.com/raphael/SVGTOHTML_LIVE.php – Chasbeen

cevap

0

Kısmi bir çözüm bu jsFiddle bulunabilir: 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: 'red' }).translate(i * 250, 300); 
} 

ben benim cevap alamadım ilgili bazı sorular,

Bu cr Orijinal kümedeki her karaktere dayanarak yeni bir yol açar. Ancak, keman karakterleri doğru şekilde yerleştirmez.

raphael google grubuna ilgili bazı tartışma: Burada bazı google grup tartışması: Burada https://groups.google.com/d/msg/raphaeljs/OP29oelR5Eg/zPi5m6rjsvIJ

7

sizin için tüm dönüşümleri uygulayan bir jsFiddle var: http://jsfiddle.net/ecmanaut/cFSjt/

O Raphael bir kısmını veya tamamını ortaya çıkarır olması mümkündür kendimi doldurduğum araçlar, ama değilse, bunlar hile güzelce. İhtiyaçlarınız daha fazla yol olmayan öğeleri de (gruplar, rect'ler, daireler, elipsler vb.) Kapsamıyorsa, önce bunları yol öğelerine dönüştürün (örneğin, pathify kullanarak).

+0

Güzel. Bunun gibi bir şeye şaşırdım Raphael çekirdeğinin bir parçası değil, ama dokümanlar içinde bulamıyorum. Bazı yol verilere bir dönüşümün "uygulanmasını" isteyecek pek çok durum var gibi görünüyor. Bir soru: fonksiyonunuzda SVG'yi (VML'yi değil), doğrudan düğüm ile çalışarak üstlenmiyor musunuz? Bu yöntemleri kullanarak dönüştürülmüş bir Raphael yolunu klonlamak ve düzleştirmek için "saf" bir Raphael örneği verebilir misiniz? – Ben