2012-04-10 7 views
5

में एक सेट के लिए एक परिवर्तन को लागू करने Raphael 2.0 का उपयोग करना, मैं एक एक तरीका है कि सेट में वस्तुओं के सभी के सापेक्ष है में वस्तुओं का एक सेट करने के लिए बदलने के लागू करने के लिए कोशिश कर रहा हूँ। हालांकि, मुझे जो प्रभाव मिल रहा है वह यह है कि सेट में अन्य वस्तुओं के बावजूद, प्रत्येक आइटम को व्यक्तिगत रूप से ट्रांसफॉर्म लागू किया जाता है।Raphael.js

उदाहरण के लिए: http://jsfiddle.net/tim_iles/VCca9/8/ - यदि अब आप अंतिम पंक्ति को असम्बद्ध करते हैं और कोड चलाते हैं, तो प्रत्येक सर्कल को 0.5x तक स्केल किया जाता है। वास्तविक प्रभाव जो मैं प्राप्त करने की कोशिश कर रहा हूं वह चक्रों के पूरे सेट को स्केल करना होगा, इसलिए उनकी सापेक्ष दूरी भी स्केल की गई है, जो उन सभी चारों को सफेद वर्ग के बाध्यकारी बॉक्स के अंदर रखना चाहिए।

राफेल के निर्मित उपकरणों का उपयोग करके इसे प्राप्त करने का कोई तरीका है?

उत्तर

11

जब आप स्केल करते हैं, पहला पैरामीटर एक्स-स्केल होता है। यदि आप कोई अन्य पैरामीटर प्रदान नहीं करते हैं, तो यह उस वस्तु के केंद्र के चारों ओर वाई-स्केल और स्केल के रूप में उपयोग करेगा।

जब आपने आयत को स्केल किया, तो यह आयताकार के केंद्र के चारों ओर घिरा हुआ था। यदि आप चाहते हैं कि मंडल अपने केंद्रों की बजाय उस बिंदु के आसपास भी स्केल करें, तो आपको वह बिंदु प्रदान करना चाहिए।

तो अंतिम पंक्ति हो सकता है set.transform("s0.5,0.5,100,100");

कम से कम, मुझे लगता है कि यह आपके लिए क्या पूछ रहे है (100,100 आयत आप बढ़ाया के केंद्र रहा है)।

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