svg - एक पीएनजी छवि को एक एसवीजी में कैसे परिवर्तित करें?




png (10)

एक पीएनजी छवि को एक एसवीजी में कैसे परिवर्तित करें?


अगर आप कुछ लिनक्स सिस्टम पर हैं, तो छविमैगिक सही है। अर्थात

convert somefile.png somefile.svg

यह विभिन्न प्रारूपों के ढेर के साथ काम करता है।

अन्य मीडिया जैसे वीडियो और ऑडियो उपयोग (ffmpeg) के लिए मुझे पता है कि आपने स्पष्ट रूप से एसजीजी को पीएनजी कहा है; यह अभी भी मीडिया से संबंधित है।

ffmpeg -i somefile.mp3 somefile.ogg

अगर आप बहुत सी फाइलों के माध्यम से जाना चाहते हैं तो बस एक टिप; मूल खोल चाल का उपयोग कर एक पाश ..

for f in *.jpg; do convert $f ${f%jpg}png; done

यह jpg को हटा देता है और पीएनजी जोड़ता है जो बताता है कि आप क्या चाहते हैं।


आप .png से .svg में क्यों परिवर्तित करना चाहते हैं, इस पर निर्भर करते हुए, आपको परेशानी से गुज़रना पड़ेगा। .png (रास्टर) से .svg (वेक्टर) में कनवर्ट करना एक दर्द हो सकता है यदि आप उपलब्ध टूल्स से परिचित नहीं हैं, या यदि आप व्यापार द्वारा ग्राफिक डिजाइनर नहीं हैं।

अगर कोई आपको बड़ी, उच्च रिज़ॉल्यूशन फ़ाइल (जैसे 1024x1024) भेजता है, तो आप इसे जीआईएमपी में जितना चाहें उतना आकार बदल सकते हैं। अक्सर, यदि संकल्प (प्रति इंच पिक्सेल की संख्या) बहुत कम है तो आपको छवि का आकार बदलने में समस्याएं आती हैं। जीआईएमपी में इसे सुधारने के लिए, आप यह कर सकते हैं:

  1. File -> Open : अपनी .png फ़ाइल
  2. Image -> Image Properties : संकल्प, और रंग स्थान की जांच करें। आप 300 पीपीआई के आसपास एक संकल्प चाहते हैं। ज्यादातर मामलों में आप कलर स्पेस आरजीबी होना चाहते हैं।
  3. Image -> Mode : आरजीबी पर सेट करें
  4. Image -> Scale Image : अकेले आकार, सेट और वाई रिज़ॉल्यूशन 300 या उससे अधिक तक छोड़ दें। स्केल हिट करें।
  5. Image -> Scale Image : संकल्प अब 300 होना चाहिए और अब आप छवि को जितना चाहें उतना आकार में बदल सकते हैं।

एक .svg फ़ाइल का आकार बदलने जितना आसान नहीं है, लेकिन एक .png से .svg में कनवर्ट करने की कोशिश करने से निश्चित रूप से आसान और तेज़ है, यदि आपके पास पहले से ही एक बड़ी, उच्च-रिज़ॉल्यूशन वाली छवि है।


आप potrace देखना चाहते हैं।


आसान

  1. Inkscape डाउनलोड करें (यह पूरी तरह से मुफ़्त है)
  2. इस छोटे यूट्यूब वीडियो में निर्देशों का पालन करें

जैसा कि आप देखेंगे, अगर आप पूरी तरह से अन्य चालाक। एसवीजी सामान करना चाहते हैं तो आप इनक्सकेप का उपयोग करके भी कर सकते हैं।

एक गैर-तकनीकी अवलोकन: मैं व्यक्तिगत रूप से "मुक्त" वेबसाइट प्रसाद पर इस विधि को प्राथमिकता देता हूं क्योंकि, छवि को अपलोड करके अक्सर पंजीकरण की आवश्यकता होती है, सभी व्यावहारिक शर्तों में, कोई वेबसाइट मालिक को छवि दे रहा है।


एक पीएनजी एक बिटमैप छवि शैली है और एक एसवीजी एक वेक्टर-आधारित ग्राफिक्स डिज़ाइन है जो बिटमैप्स का समर्थन करता है, ऐसा नहीं है कि यह छवि को वैक्टर में परिवर्तित करेगा, केवल एक वेक्टर-आधारित प्रारूप में एम्बेडेड एक छवि। आप http://www.inkscape.org/ का उपयोग कर ऐसा कर सकते हैं जो मुफ़्त है। यह इसे एम्बेड करेगा, हालांकि इसमें एक लाइव ट्रेस इंजन भी है जो आपको चाहें तो पथ में बदलने की कोशिश करेगा (पॉट्रेस का उपयोग करके)। एडोब इलस्ट्रेटर (कमर्शियल) में लाइव ट्रेस देखें एक उदाहरण है:

http://graphicssoft.about.com/od/illustrator/ss/sflivetrace.htm


एडोब इलस्ट्रेटर के साथ:

एडोब इलस्ट्रेटर खोलें। प्रोग्राम में पीएनजी फ़ाइल लोड करने के लिए "फ़ाइल" पर क्लिक करें और "ओपन" का चयन करें। छवि को एक एसवीजी फ़ाइल के रूप में सहेजने से पहले आवश्यकतानुसार संपादित करें। "फ़ाइल" पर क्लिक करें और "इस रूप में सहेजें" का चयन करें। एक नया फ़ाइल नाम बनाएं या मौजूदा नाम का प्रयोग करें। सुनिश्चित करें कि चयनित फ़ाइल प्रकार एसवीजी है। एक निर्देशिका चुनें और फ़ाइल को सहेजने के लिए "सहेजें" पर क्लिक करें।

या

ऑनलाइन कनवर्टर http://image.online-convert.com/convert-to-svg

मैं एआई पसंद करता हूं क्योंकि आप किसी भी बदलाव की आवश्यकता कर सकते हैं

सौभाग्य


मुझे लगता है कि आप ऐसा करने के लिए सॉफ्टवेयर लिखना चाहते हैं। इसे मूर्खतापूर्वक करने के लिए आपको बस लाइनें मिलेंगी और वेक्टर सेट करेंगी। समझदारी से ऐसा करने के लिए, आप ड्राइंग (मॉडल फिटिंग) पर आकृतियों को फिट करने का प्रयास करते हैं। इसके अतिरिक्त, आपको बिटमैप किए गए क्षेत्रों का पता लगाने का प्रयास करना चाहिए (जिन क्षेत्रों में आप शम्स के माध्यम से मॉडल नहीं कर सकते हैं या बनावट लागू नहीं कर सकते हैं। मैं इस मार्ग पर जाने की अनुशंसा नहीं करता क्योंकि इसमें काफी समय लगेगा और कुछ ग्राफिक्स और कंप्यूटर दृष्टि ज्ञान की आवश्यकता होगी। हालांकि, उत्पादन आपके मूल आउटपुट की तुलना में बहुत अधिक होगा और स्केल करेगा।


मेरे आश्चर्य के लिए, यह potrace निकलता है, केवल काले और सफेद प्रक्रिया कर सकता है। आपके मामले का उपयोग करने के लिए यह ठीक हो सकता है, लेकिन कुछ रंगीन ट्रेसिंग की कमी को समस्याग्रस्त होने पर विचार कर सकते हैं।

व्यक्तिगत रूप से, मेरे पास http://vectormagic.com/home साथ संतोषजनक परिणाम हैं

फिर भी यह सही नहीं है।


potrace इनपुट फ़ाइल के रूप में पीएनजी का समर्थन नहीं करता है, लेकिन PNM
इसलिए, पहले पीएनजी से पीएनएम में convert :

convert file.png file.pnm        # PNG to PNM
potrace file.pnm -s -o file.svg  # PNM to SVG

विकल्पों की व्याख्या करें

  • potrace -s => आउटपुट फ़ाइल एस वीजी है
  • potrace -o file.svg => file.svg को आउटपुट लिखें

उदाहरण

इनपुट फ़ाइल = 2017.png

convert 2017.png 2017.pnm

अस्थायी फ़ाइल = 2017.pnm

potrace 2017.pnm -s -o 2017.svg

आउटपुट फ़ाइल = 2017.svg

लिपि

ykarikos एक स्क्रिप्ट ykarikos का प्रस्ताव है कि मैंने सुधार किया है:

#!/bin/bash

File_png="${1?:Usage: $0 file.png}"

if [[ ! -s "$File_png" ]]; then
  echo >&2 "The first argument ($File_png)"
  echo >&2 "must be a file having a size greater than zero"
  ( set -x ; ls -s "$File_png" )
  exit 1
fi

File="${File_png%.*}"

convert "$File_png" "$File.pnm"        # PNG to PNM
potrace "$File.pnm" -s -o "$File.svg"  # PNM to SVG
rm "$File.pnm"                         # Remove PNM

एक लाइन कमांड

यदि आप कई फ़ाइलों को कन्वर्ट करना चाहते हैं, तो आप निम्न एक-पंक्ति कमांड का भी उपयोग कर सकते हैं:

( set -x ; for f_png in *.png ; do f="${f_png%.png}" ; convert "$f_png" "$f.pnm" && potrace "$f.pnm" -s -o "$f.svg" ; done )

यह भी देखें

विकिपीडिया पर वेक्टर कन्वर्टर्स के लिए रास्टर की यह अच्छी तुलना भी देखें।








png