2010-06-14 11 views
8

मेरे पास 2 एसवीजी फाइलें हैं जिन्हें मुझे बटिक का उपयोग करके ओवरले करने की आवश्यकता है। एक फ़ाइल पृष्ठभूमि छवि के रूप में कार्य करती है और 308 पीएक्स द्वारा 308 पीएक्स है जबकि दूसरी फ़ाइल (260 पीएक्स द्वारा 260 पीएक्स) अग्रभूमि छवि है जो केंद्रित होना चाहिए (जो पृष्ठभूमि छवि के केंद्र में है)। मैं ऑपरेशन का नतीजा तीसरी एसवीजी फ़ाइल में सहेजना चाहता हूं। यदि आप बटिक से परिचित हैं, तो मैं आपके सुझावों की सराहना करता हूं।अपाचे बटिक का उपयोग करके मैं एक एसवीजी छवि को दूसरे पर कैसे बढ़ा सकता हूं?

धन्यवाद,

ओलिवियर।

उत्तर

8

आप अंतिम एक में पृष्ठभूमि की सामग्री और अग्रभूमि दस्तावेजों में शामिल करने की जरूरत नहीं है, तो आप बस उन्हें संदर्भ का उपयोग कर सकते हैं:

<svg xmlns='http://www.w3.org/2000/svg' 
    xmlns:xlink='http://www.w3.org/1999/xlink' 
    width='308' height='308' viewBox='0 0 308 308'> 
    <image xlink:href='background.svg' width='308' height='308'/> 
    <image xlink:href='foreground.svg' x='24' y='24' width='260' height='260'/> 
</svg> 

यह डोम का उपयोग कर इस दस्तावेज़ के निर्माण के लिए सरल होना चाहिए । दस्तावेज़ बनाने के लिए DOM एपीआई का उपयोग करने के उदाहरण के लिए here देखें।

आप एक में दो दस्तावेज़ों को मर्ज करने की जरूरत है, तो आप कर सकते थे:

  • एक = Documentparsing background.svg
  • जाने = Document से उत्पन्न से उत्पन्न करते हैं पार्स करने foreground.svg
  • जाने = a.importNode(b.getDocumentElement(), true)
  • की x और y गुण "24"
  • कॉल a.getDocumentElement().appendChild(e)

अब एक अग्रभूमि सामग्री के साथ एक दस्तावेज है में विलय कर दिया है।

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