2011-12-02 5 views
7

मैं राफेल जेएस 2 में कई पथों के परिवर्तन को लागू या 'सेंकना' चाहता हूं, ताकि मैं उन्हें एक ही पथ में जोड़ सकूं।राफेल जेएस 2 में पथ निर्देशांक में ट्रांसफॉर्म मैट्रिक्स को कैसे लागू करें?

यहां एक उदाहरण पथ है, जहां मैं सभी "डी" निर्देशांक पर "ट्रांसफॉर्म" विशेषता लागू करना चाहूंगा।

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

मैं समझता हूँ कि svg संपादित ढांचे पथ परिवर्तित कर सकते हैं पूर्ण पदों के लिए निर्देशांक, और इस प्रक्रिया में मैट्रिक्स को बदलने को हटा दें।

कुछ संबंधित सवाल है, जो मैं से मेरा उत्तर नहीं मिल सका:

+0

मैंने सेट में प्रत्येक पथ के लिए मूल परिवर्तन संग्रहित करना समाप्त कर दिया। प्रत्येक बार जब मुझे पूरे सेट को बदलने की ज़रूरत होती है, तो मैं पहले संग्रहीत ट्रांसफॉर्म का उपयोग करके व्यक्तिगत पथ "... टी" को पूर्व-रूपांतरित कर दूंगा। यह समाधान आदर्श नहीं है, क्योंकि यह बड़े सेटों के लिए खींचने को खींचता है। – Jedateach

+0

SvgToHtml पथ निर्देशांक को पूर्ण पदों में परिवर्तित करेगा, और प्रक्रिया में ट्रांसफॉर्म मैट्रिक्स को हटा देगा। http://irunmywebsite.com/raphael/SVGTOHTML_LIVE.php – Chasbeen

उत्तर

0

एक आंशिक समाधान इस 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: 'red' }).translate(i * 250, 300); 
} 

यह सीआर मूल सेट में प्रत्येक चरित्र के आधार पर एक नया पथ खाता है। हालांकि, पहेली सही ढंग से वर्णों को स्थान नहीं देती है।

राफेल गूगल समूह पर कुछ संबंधित चर्चा: यहां कुछ गूगल समूह चर्चा: https://groups.google.com/d/msg/raphaeljs/OP29oelR5Eg/zPi5m6rjsvIJ

7

यहाँ आप के लिए सभी रूपांतरण लागू होने वाला एक jsFiddle है: http://jsfiddle.net/ecmanaut/cFSjt/

ऐसा नहीं है कि राफेल कुछ या सभी को उजागर करता है संभव है उपकरण जो मैंने स्वयं भर लिया है, लेकिन यदि नहीं, तो ये चाल अच्छी तरह से करें। यदि आपकी ज़रूरतें अधिक गैर-पथ तत्वों को भी कवर करती हैं (जैसे समूहों, रीक्ट्स, सर्किल, इलिप्स, और इसी तरह), पहले उन्हें पथ तत्वों में परिवर्तित करें (उदाहरण के लिए pathify का उपयोग करके)।

+0

अच्छा। मुझे आश्चर्य है कि यह राफेल कोर का हिस्सा नहीं है, लेकिन मुझे दस्तावेज़ों में यह प्रतीत नहीं होता है। ऐसा लगता है कि ऐसे कई मामले होंगे जिनमें कोई व्यक्ति कुछ पथ डेटा में परिवर्तन लागू करना चाहता है। एक सवाल: क्या आप सीधे अपने नोड के साथ काम करके एसवीजी (और वीएमएल नहीं) अपने काम में नहीं मान रहे हैं? क्या आप संभवतः इन विधियों का उपयोग करके एक परिवर्तित राफेल पथ क्लोनिंग और फ़्लैटन करने का "शुद्ध" राफेल उदाहरण दे सकते हैं? – Ben

संबंधित मुद्दे