2012-02-10 14 views
5

में प्रकट नहीं होते हैं, मैं मार्करों को एसवीजी छवियों के समूह के लिए एकीकृत करने की कोशिश कर रहा हूं। मेरी समस्या यह है कि मैं मार्कर परिभाषाओं के काम में बाहरी संदर्भ नहीं बना सकता। यह How to reference external svg file in svg correctly? पर सवाल से जुड़ा हो सकता है लेकिन एक लिंक अभी भी गायब है।बाहरी रूप से परिभाषित मार्कर एसवीजी

b.svg (जो संदर्भित है):

मैं मेरी समस्या प्रदर्शित करने के लिए एक छोटे से उदाहरण बना

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> 
    <defs> 
     <circle id="b" r="6" stroke="black" fill="green" /> 
     <marker id="b_end" 
      orient="auto" 
      style="overflow:visible"> 
      <use xlink:href="#b" /> 
     </marker> 
    </defs> 
</svg> 

a.svg (b.svg को संदर्भित कर रहा):

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"> 
    <defs> 
     <circle id="a" r="6" stroke="black" fill="yellow" /> 
     <marker id="a_end" 
      orient="auto" 
      style="overflow:visible"> 
      <use xlink:href="#a" /> 
     </marker> 
     <marker id="b_end" 
      orient="auto" 
      style="overflow:visible"> 
      <use xlink:href="b.svg#b" /> 
     </marker> 
    </defs> 
    <path d="m 10,10 20,20" style="marker-end:url(#a_end)" stroke="black" /> 
    <path d="m 40,10 20,20" style="marker-end:url(#b_end)" stroke="black" /> 
    <path d="m 70,10 20,20" style="marker-end:url(b.svg#b_end)" stroke="black" /> 
</svg> 

जैसा कि आप देख सकते हैं, मैंने एक आंतरिक आईडी के माध्यम से पहली पंक्ति के लिए मार्कर का संदर्भ दिया (वास्तव में मार्कर के संदर्भ में भी दो)। यह ठीक काम करता है।

मैंने दूसरी पंक्ति के बाहरी पथ के साथ एक आंतरिक मार्कर परिभाषा का उपयोग किया। यह काम नहीं करता है। (रेखा diplayed है, मार्कर नहीं है।)

मैंने तीसरी पंक्ति में बाहरी मार्कर का उपयोग किया। यह या तो काम नहीं करता है।

समस्या यह हो सकती है कि बाह्य सामग्री होस्टिंग में नहीं है - कम से कम नहीं जब शैली में संदर्भ हल हो जाता है।

ठीक है, लेकिन मैं इसके बारे में क्या कर सकता हूं? मैं एसवीजी में मार्करों के लिए बाहरी तत्वों का संदर्भ कैसे दे सकता हूं?

+0

क्या आप सफारी या क्रोम पर ऐसा करने की कोशिश कर रहे हैं क्योंकि मुझे नहीं लगता कि वे समर्थन करते हैं बाहरी संदर्भ अभी तक। हालांकि यह फ़ायरफ़ॉक्स और ओपेरा में काम करना चाहिए। –

+0

ठीक है, इस विवरण को याद करने के लिए खेद है। मेरा अंतिम लक्ष्य डॉकबुक से एक सही पीडीएफ उत्पन्न करना है :) लेकिन मैंने इसे बिना किसी भाग्य के आईई और फ़ायरफ़ॉक्स के साथ भी आजमाया। –

+0

आंड आप सही हैं, मेरे द्वारा पोस्ट किया गया सटीक कोड ओपेरा के साथ ठीक काम करता है! मैंने पहले कोशिश नहीं की है। हालांकि मुझे अभी भी निष्कर्ष की कमी है। क्या मेरा एसवीजी कोड सही है, यह वर्तमान प्रस्तुतकर्ताओं के समर्थन में पीछे आता है? –

उत्तर

0

मुझे लगता है कि मैं अपने प्रयोगों और रॉबर्ट द्वारा छोड़ी गई टिप्पणी के आधार पर अपने मूल प्रश्न का उत्तर दे सकता हूं।

कोड मैं एसवीजी में लिखा चाहिए काम करते हैं और यह ओपेरा और Firefox के साथ काम करता है। इसके अलावा यह अपाचे एफओपी के साथ पीडीएफ उत्पन्न करते समय काम करता है जो मेरे लिए महत्वपूर्ण बिंदु था।

एकमात्र समस्या यह है कि बाहरी संदर्भ आईई, क्रोम और सफारी में काम नहीं करता है। मुझे यकीन नहीं है कि फ़ायरफ़ॉक्स में स्टाइल परिभाषाओं के बाहरी संदर्भ लागू किए गए थे: यह 7.0 में काम नहीं करता है लेकिन यह 11 में काम करता है लेकिन

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