PNG छवि को SVG में कैसे बदलें? [बन्द है]


266

PNG छवि को SVG में कैसे बदलें?


21
प्रोग्रामिक रूप से या नहीं? क्या भाषा, मंच?
माइकल पेट्रोत्ता

कुछ एप्लिकेशन के माध्यम से या ऑपरेटिंग सिस्टम कमांड के माध्यम से? यदि आप ऑपरेटिंग सिस्टम के माध्यम से बता सकते हैं कि कौन सा ऑपरेटिंग सिस्टम है .. धन्यवाद
महेश वेलगा

जवाबों:


130

एक वेबसाइट है जहां आप अपनी छवि अपलोड कर सकते हैं, और परिणाम देख सकते हैं।

http://vectormagic.com/home

लेकिन अगर आप अपनी svg- छवि डाउनलोड करना चाहते हैं, तो आपको पंजीकरण करने की आवश्यकता है। (यदि आप रजिस्टर करते हैं, तो आपको मुफ्त में 2 चित्र मिलते हैं)


122

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

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

विकल्प स्पष्ट करें

  • potrace -s=> आउटपुट फ़ाइल S VG है
  • 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 एक स्क्रिप्ट का प्रस्ताव png2svg.sh कि मैं सुधार हुआ है:

#!/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 )

यह सभी देखें

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


2
पॉट का उपयोग करके pnm से svg में परिवर्तित होने पर छवि रंग खो देती है। क्या रंग को संरक्षित करने का कोई तरीका है?
कोडर

1
हाय @ मुंडेल्ला। मैंने हमेशा potraceब्लैक एंड व्हाइट आइकन के लिए उपयोग किया है । आपकी प्रतिक्रिया के लिए धन्यवाद। लेकिन खेद कोई विचार नहीं है कि रंगों को कैसे संरक्षित किया जाए ... हो! मेरे पास एक विचार है: यदि आपकी मूल छवि में कुछ रंग हैं (मान लें कि तीन अद्वितीय रंग हैं), तो आप तीन प्रारंभिक चित्र (प्रत्येक रंग के लिए एक) बना सकते हैं। फिर SVG में कन्वर्ट करें। और अंत में, तीन एसवीजी सामग्री को एक फ़ाइल में विलय करें (एसवीजी एक्सएमएल आधारित है)। आशा है कि यह मदद कर सकता है ... चीयर्स ;-)
ओलिवर

@olibre क्या व्यावहारिक रूप से ऐसा करने का कोई मंच है
अमी काम्बोज

1
हाय @AmiKamboj मुझे आपके प्रश्न को समझना निश्चित नहीं है। आदेश convertऔर potraceकई प्लेटफार्मों पर उपलब्ध हैं। मैं लिनक्स-आधारित कंप्यूटरों का उपयोग कर रहा हूं। मैंने कल ही इन आदेशों का उपयोग स्कैन किए गए कागज से एसवीजी का उत्पादन करने के लिए किया है। आप परिणाम देख सकते हैं: cpp-frug.github.io/images/Cpp-President-2017.svg कृपया अपने लक्ष्य के बारे में अधिक बताएं। आप क्या चाहते हैं / आश्चर्य? आपकी जरूरत / इच्छा क्या है? चीयर्स ;-)
ओलिब्रे

1
मैं बस हर ऑनलाइन x के बारे में svg कनवर्टर वहाँ इस्तेमाल किया है। पोट्रेस एनपीएम पैकेज ने उन सभी को पानी से बाहर निकाल दिया। यह विस्मयकारी है।
tsteve

59

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

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


1
मैंने लंबे खोए हुए मूल के साथ लोगो को फिर से बनाने के लिए Inkscape में लाइव ट्रेस का उपयोग किया है। जब तक नवीनतम संस्करण में कुछ सुधार नहीं हुआ है, यह थोड़ा हिट-या-मिस है। यह कहने के बाद, मैंने Inkscape में कुछ लोगो को मैन्युअल रूप से ट्रेस किया है और काफी ठीक प्रबंधित किया है।
अन्नजृ

12
यहाँ एक विवरण है कि यह Inkscape में कैसे करें: wiki.inkscape.org/wiki/index.php/Potrace
Erel Segal-

महान टिप्पणी। हमने देखा है कि iOS 7.1 Safari svg में एम्बेड की गई छवियों को प्रदर्शित नहीं करेगा जबकि Chrome को इसमें कोई समस्या नहीं है
ProblemsOfSumit

28

आप पॉट्रेस को देखना चाह सकते हैं ।


1
जब आप इसका उपयोग करना जानते हैं, तो यह पॉट्रेस बहुत सटीक है: लेकिन इसकी न कि मल्टीकलर 1.) अपनी फ़ाइल को BMP 2 में परिवर्तित करें।) (सटीक भाग के लिए) bmp को उच्च रिज़ॉल्यूशन में परिवर्तित करें (इसे स्ट्रेच करें) 3.) आकृतियों को रंग दें आप काले 4 में ट्रेस करना चाहते हैं।) कन्वर्ट 5.) चौड़ाई को बदलें और ऊंचाई को मूल 6.) सही अनुरेखण की सराहना करें।
PauAI

18

आसान

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

जैसा कि आप देखेंगे, यदि आप अन्य बहुत सारे चतुर .svg सामान करना चाहते हैं, तो आप इसे Inkscape का उपयोग करके भी कर सकते हैं।

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


1
क्यों होता है पतन? मैं इस दृष्टिकोण का बहुत सफलतापूर्वक उपयोग करता हूं। कम से कम यह बताने के लिए शिष्टाचार रखें कि लोग आपकी अंतर्दृष्टि से लाभान्वित क्यों हो सकते हैं।
पान्चो

5
उन निर्देशों का पालन करने से केवल एसवीजी एक्सएमएल के साथ छवि को लपेटता है - यह पथ डेटा में कुछ भी परिवर्तित नहीं करता है।
राबर्ट

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

क्या वाकई ऐसा है? मैंने जेनरेट की गई एसवीजी की जाँच की और यह मोबाइल डेटा के विपरीत पथ डेटा के लिए प्रतीत होता है ...
dario_ramos

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

15

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

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

या

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

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

सौभाग्य


3
Online-convert.com के लिए +1। अब यह मोनोक्रोम सिल्हूट के एक जोड़े के साथ की कोशिश की .. निर्दोष प्रदर्शन किया .. इसके अलावा पूरी तरह से मुक्त होने के लिए लगता है।
nedR

Yea बेहतर कन्वर्टर्स में से एक ... धन्यवाद
JayD

1
पता नहीं था कि इलस्ट्रेटर ने इसमें खाना बनाया था। हर चीज के रूप में। पहले से ही, यह मुझे एक टन का समय बचाएगा।
डॉयल लुईस

10

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

व्यक्तिगत रूप से, मेरे पास वेक्टर मैजिक के साथ संतोषजनक परिणाम थे

अभी भी यह सही नहीं है।


9

पोट्रेस और इमेजमेगिक का उपयोग करने वालों को एक नोट , पीएनजी छवियों को पीपीएम के लिए पारदर्शिता के साथ परिवर्तित करना बहुत अच्छा काम नहीं करता है। यहाँ एक उदाहरण है जो इसे संभालने के लिए -flattenध्वज का उपयोग करता है convert:

sudo apt-get install potrace imagemagick
convert -flatten input.png output.ppm
potrace -s output.ppm -o output.svg
rm output.ppm

एक और दिलचस्प घटना यह है कि आप इनपुट फॉर्मेट के रूप में PPM (256 * 3 रंग, यानी RGB), PGM (256 रंग, यानी ग्रेस्केल) या PBM (2 रंग, यानी सफेद या काला) का उपयोग कर सकते हैं। मेरी सीमित टिप्पणियों से, यह प्रतीत होता है कि छवियों पर जो अलियास , पीपीएम और पीजीएम (जो समान एसवीजी का उत्पादन करते हैं, जहां तक मैं देख सकता हूं) रंगीन क्षेत्र को सिकोड़ते हैं और पीबीएम रंगीन क्षेत्र का विस्तार करता है (केवल थोड़ा सा)। संभवतः यह एक pixel > (256 / 2)परीक्षण और परीक्षण के बीच का अंतर है pixel > 0। आप फ़ाइल एक्सटेंशन को बदलकर, यानी तीनों के बीच स्विच कर सकते हैं। निम्नलिखित उपयोग PBM :

sudo apt-get install potrace imagemagick
convert -flatten input.png output.pbm
potrace -s output.pbm -o output.svg
rm output.pbm

7

आप http://image.online-convert.com/convert-to-svg भी आज़मा सकते हैं

मैं हमेशा अपनी जरूरतों के लिए इसका इस्तेमाल करता हूं।


मैं वास्तव में कॉम्प्लेक्स छवियों में भी एक आकर्षण की तरह काम करता हूं। मैं वास्तव में इस उपकरण की सलाह देता हूं।
एटिफैकन एर्जिन

दुर्भाग्य से मेरे लिए काम नहीं किया।
adjj

यदि छवि में पारदर्शिता है तो अच्छी तरह से काम न करें
Genaut

आप स्क्रिप्ट की उम्मीद नहीं कर सकते हैं कि आप अपनी एक तस्वीर ले सकते हैं और परिणामस्वरूप पूरी तरह से स्तरित एसवीजी प्राप्त कर सकते हैं, ऐसी कोई बात नहीं है। यदि आपके पास एक सरल आकार है और आप पथ प्राप्त करना चाहते हैं, तो यह ऐसा करता है। मैंने उस पृष्ठ के साथ फ़ॉन्ट-आइकन का एक बहुत कुछ बनाया और मेरे लिए कभी असफल नहीं हुआ।
thnnp

@thednp मेरी छवि काले और सफेद
निकली

7

मुझे बस यह सवाल और जवाब मिला क्योंकि मैं वही काम करने की कोशिश कर रहा हूं! मैं उल्लिखित कुछ अन्य साधनों का उपयोग नहीं करना चाहता था। (मेरे ईमेल को दूर नहीं करना चाहते हैं, और भुगतान नहीं करना चाहते हैं)। मैंने पाया कि इंकस्केप (v0.91) बहुत अच्छा काम कर सकता है। यह ट्यूटोरियल त्वरित और समझने में आसान है।

यह Inkskape और Shift + Alt + B में अपने बिटमैप को चुनने के रूप में सरल है

पॉकेट पर आधारित इंकसैप ट्रेस बिटमैप टूल के साथ एज डिटेक्शन


4

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

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

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

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


2

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


2

http://online-converting.com/image/convert-to-svg/ svg में बदलने के लिए अच्छी तरह से काम किया


यह छवि से किसी भी रंग को हटाता है, potraceकमांड लाइन पर समान समस्या - मुझे आश्चर्य होता है कि वेबसाइट आंतरिक रूप से क्या उपयोग करती है ...
ssc

0

यह उपकरण अभी बहुत अच्छी तरह से काम कर रहा है।

http://www.mobilefish.com/services/image2svg/image2svg.php


17
यह svg में छवि को एम्बेड करता है, वास्तविक वेक्टर ग्राफिक्स नहीं
पॉल गोबी

इसने मेरे एक रंगीन png को परिवर्तित कर दिया, जिसमें अन्य ऑनलाइन कन्वर्टर्स ठीक से परिवर्तित करने में सक्षम नहीं थे। मैंने सोचा था कि यह काम कर रहा है क्योंकि मैं इसे ब्राउज़र में खोल सकता हूं लेकिन जब मैंने इसे किसी अन्य टूल पर खोलने की कोशिश की, तो इसमें एक त्रुटि है। शायद ऊपर बताई गई टिप्पणी के कारण।
विदा

-1

यदि आप कुछ लिनक्स सिस्टम पर हैं, तो इमेजमैगिक एकदम सही है। अर्थात

convert somefile.png somefile.svg

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

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

ffmpeg -i somefile.mp3 somefile.ogg

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

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

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


2
इमेजमैगिक सिर्फ 'लिनक्स' ही नहीं, बल्कि अन्य प्लेटफार्मों पर भी काम करता है।
लुनैटिक

25
यह तकनीकी रूप से काम करता है, हालांकि, उत्पन्न svg फ़ाइल वास्तव में वेक्टर ग्राफिक्स नहीं है - इसमें मूल बिटमैप "जैसा है" है। इस प्रकार, जब आप इसे बढ़ाते हैं, तो आप अभी भी एक रेखापुंज छवि की खराब गुणवत्ता प्राप्त करते हैं।
इरेल सहगल-हलावी

7
@archeyDevil नहीं, वह एसवीजी में "परिवर्तित" नहीं है, वह खाली एसवीजी के अंदर बिटमैप को "एम्बेड" कर रहा है। किसी को कोई फायदा नहीं।
एडम

4
@archeyDevil प्रश्न शीर्षक "कन्वर्ट ... एसवीजी के लिए" है। आपका उत्तर रूपांतरित नहीं होता है। यह एम्बेड करता है। पीएनजी एक बिटमैप प्रारूप है, एसवीजी एक वेक्टर प्रारूप है। भारी अंतर। एम्बेड करना बेकार है और एसओ प्रश्न के योग्य नहीं है IMHO
एडम

3
मुझे पता है कि यह परिवर्तित नहीं है। मैंने हालांकि; इसे उन लोगों के लिए पोस्ट करें, जिन्हें सदिश की जरूरत नहीं है, लेकिन सिर्फ फिलेटिस के बीच एक त्वरित और गंदे बदलाव की आवश्यकता है।
डार्क फॉक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.