2012-03-11 9 views
7

मैं कमांड लाइन से पूर्व-मौजूदा छवि से नई छवियां प्राप्त करने में सक्षम होना चाहता हूं। ऐसा करने के लिए, मैं विशिष्ट परतों को चालू/बंद कर दूंगा जिनमें छवि के भाग हैं और फिर परिणामी छवि को फ़ाइल में सहेज लें। हालांकि, जब मैं परतों में हेरफेर करने में मदद में सूचीबद्ध कई आदेश देख सकता हूं, तो मुझे कोई ऐसा नहीं दिखाई देता है जो किसी को एक विशिष्ट चुनने और उसे चालू/बंद करने की अनुमति देगा।इंकस्केप कमांड लाइन प्रोग्रामिंग

उत्तर

6

कि आप क्या करना उनके आईडी (जैसे कि, layer17 और layer4711) द्वारा कुछ अवांछित तत्वों को हटाने के द्वारा प्राप्त किया जा सकता चाहते हैं, आप इसे इस तरह कर सकते हैं:

inkscape image.svg \ 
    --select=layer17 --verb=EditDelete \ 
    --select=layer4711 --verb=EditDelete \ 
    --verb=FileSave --verb=FileClose 

ध्यान दें कि यह image.svg के ऊपर लिख देगा नतीजतन, इसलिए यदि आप इसे स्क्रिप्ट कर रहे हैं, तो अपने मूल के बजाय प्रतिलिपि पर काम करना सुनिश्चित करें।

+1

अरे, कि काम कर देता है। आपकी सहायताके लिए धन्यवाद! – Brian

+0

यह मेरे लिए काम नहीं करता है (inkscape 0.91)। मैं विंडोज़ पर हूं, क्या यह समस्या हो सकती है? –

+0

इसे विंडोज़ के लिए अनुकूलन की भी आवश्यकता है; उपरोक्त प्रारूप एक मैक या इसी तरह के यूनिक्स शैली के वातावरण से था (संभवतः स्केला की युक्तियों के साथ किसी अन्य उत्तर में बेहतर बनाया गया)। यदि आप इसे विंडोज़ में अनुकूलित करने का तरीका खोजते हैं, तो बताएं - यह आपकी स्थिति में किसी और की मदद करेगा। – ecmanaut

3
inkscape image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100 

Mac पर आपको बस इतना करना हो सकता है:

/Applications/Inkscape.app/Contents/Resources/bin/inkscape --without-gui --file=image.svg --export-id-only --export-id=layer17 --export-png=image.png --export-width=100 --export-height=100 
+0

दुख की बात है, यह केवल प्रति उत्पन्न छवि – hoijui

+0

पर एक परत का चयन करने की अनुमति देता है, आप इसे आसानी से फाइलों को अलग करने के लिए प्रत्येक परत को निर्यात कर सकते हैं, और फिर आप उन्हें गठबंधन करने के लिए छवि मैगिक जैसे कुछ का उपयोग कर सकते हैं – Skela