svg - ImageMagick का उपयोग करके, एसवीजी को एंटीअलाइजिंग के साथ पारदर्शी पीएनजी में कनवर्ट करें




png inkscape (3)

मैं एसवीजी छवियों को पीएनजी फाइलों में पारदर्शी पृष्ठभूमि और एंटी-एलाइज्ड किनारों (अर्द्ध पारदर्शी पिक्सल का उपयोग करके) में परिवर्तित करना चाहता हूं। दुर्भाग्य से मैं एंटी-एलियासिंग करने के लिए ImageMagick नहीं प्राप्त कर सकता, किनारों हमेशा भयानक लगते हैं। मैंने जो कोशिश की है वह यहां है:

convert +antialias -background transparent  in.svg -resize 25x25 out.png

कोई विचार या एक अलग कमांड लाइन उपकरण मैं उपयोग कर सकता था?


असल में, छविमैजिक दस्तावेज पढ़ना:

-antialias

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

+ antialias वास्तव में antialiasing अक्षम कर देगा।


इंकस्केप यह करेगा:

inkscape \
    --export-png=out.png --export-dpi=200 \
    --export-background-opacity=0 --without-gui in.svg

जिस तरह से मैंने यह सीखा, यह तरीका यहां पाया गया था: एक .eps फ़ाइल को उच्च गुणवत्ता वाले 1024x1024 .jpg में कैसे परिवर्तित करें?

इंकस्केप के साथ @ हैल्फर के समाधान के समान ही विचार है - डीपीआई को पहले जैक करने के लिए - लेकिन आप एक ही चीज़ को केवल imagemagick विकल्प का उपयोग करके imagemagick में पूरा कर सकते हैं।

convert -density 200 in.svg -resize 25x25 -transparent white out.png






inkscape