इस पेज का कोड चालू नहीं हुआ।

index.html को सीधे किसी फ़ोल्डर से खोलने पर ब्राउज़र JavaScript मॉड्यूल रोक देता है, इसलिए कोई तस्वीर चुनने पर कुछ नहीं होगा। इसके बजाय फ़ोल्डर को http पर सर्व कीजिए:

powershell -ExecutionPolicy Bypass -File serve.ps1

फिर http://localhost:8080/ खोलिए।

तस्वीर से SVG — लोगो, स्टेंसिल या सिल्हूट को ट्रेस करके कर्व बनाइए

एक आकार, एक आउटलाइन। जो नहीं होना चाहिए, उस पर बस उँगली रख दीजिए।

भाषा: हिन्दी
कोड देखें
यह टूल तस्वीरें कभी अपलोड नहीं करता। यहाँ कोई सर्वर है ही नहीं।

तस्वीर को आपका अपना ब्राउज़र आपकी डिस्क से पढ़ता है, src/mask.js उसे हर पिक्सल के लिए एक बिट में बदलता है, src/contour.js आकार के किनारे-किनारे घूमता है, और src/fit.js उस पर कर्व बिठाता है — कुल छह सौ के आसपास पंक्तियाँ, जिन्हें आप पढ़ सकते हैं, पीछे कोई इंजन नहीं और चलाने के लिए कुछ डाउनलोड नहीं। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं: न कुछ मँगाने को, न कुछ भेजने को, और मान लीजिए कोई रास्ता होता भी, तो इस पेज के दूसरी तरफ़ ऐसा कोई सर्वर ही नहीं है जिसे ड्रॉइंग भेजी जा सके।

लाइव जाँच: जाँच जारी…

ऑफ़लाइन: जाँच जारी…

हमारी बात पर भरोसा मत कीजिए। DevTools खोलिए, Network टैब पर नज़र रखिए, और कुछ ट्रेस कीजिए। एक भी रिक्वेस्ट में न कोई तस्वीर जाती है, न थंबनेल, न फ़ाइल का नाम, न आपकी चुनी फ़ाइल का एक बाइट। या फिर इंटरनेट काट दीजिए और तब भी एक ट्रेस करके देखिए।

1 तस्वीर चुनिए

2 बताइए कि आकार क्या है

ट्रेस करने के लिए हर पिक्सल का एक बिट चाहिए — भीतर, या बाहर। यह तय करने के दो तरीके हैं, और वे अलग-अलग तस्वीरों के लिए ठीक हैं। सफ़ेद कागज़ पर बनी ड्रॉइंग उजाले और अँधेरे से अलग हो जाती है। किसी चीज़ की फ़ोटो नहीं होती: गहरे स्लेटी पत्थर पर गहरी लाल मूर्ति, गहरे पर गहरा है, और कोई चमक उन्हें अलग नहीं करती। उसके लिए चाहिए विषय, जो तस्वीर के किनारों से समझता है कि बैकग्राउंड क्या है और जो बैकग्राउंड नहीं है, वह सब रख लेता है।

3 आउटलाइन जाँचिए, और जो गलत हुआ उसे ठीक कीजिए

लाल रेखा वह आउटलाइन है जैसी वह अभी है, उन्हीं पिक्सलों के ऊपर खींची हुई जिनसे वह निकली है — यह सवाल तय होने की बस यही एक जगह है, क्योंकि कोई आउटलाइन उन पिक्सलों के हिसाब से सही या गलत होती है, और किसी चीज़ के हिसाब से नहीं। किसी भी एक तस्वीर को खींचिए, दोनों खिसकती हैं; पहिया घुमाकर ज़ूम कीजिए, और जो कुछ नहीं होना चाहिए उस पर क्लिक कीजिए। एक क्लिक उस रंग का पूरा धब्बा उठाता है, यानी आप एक पिक्सल नहीं, एक आकार की ओर इशारा कर रहे हैं; वापस लाने के लिए फिर क्लिक कीजिए।

हर आकार के लिए निकालिए रेखा पिक्सलों से कितनी दूर जा सकती है। लगभग एक से नीचे यह कुछ करती ही नहीं, क्योंकि सीढ़ी का एक पायदान अपनी रेखा से पूरा एक पिक्सल बाहर होता है; लगभग दो से ऊपर यह असली कर्व खाने लगती है।

कोनों की धार आउटलाइन को कितना मुड़ना चाहिए ताकि वह मोड़ कर्व में गोल होने के बजाय कोना बना रहे। बहुत कम रखिए, तो हर कँपकँपी कोना बन जाती है और गोला बहुभुज बनकर लौटता है।

तस्वीर

SVG

रेखा कितनी चिकनी हो

पिक्सलों की सीढ़ी कर्व कैसे बनती है, यह दो संख्याएँ तय करती हैं। ज़्यादातर तस्वीरों में इनमें से किसी को छूने की ज़रूरत नहीं, और दोनों जान लेने लायक हैं, उस वक्त के लिए जब ज़रूरत पड़े।

4 SVG ले लीजिए

Markdown के रूप में देखें

तस्वीर को बिना अपलोड किए SVG में कैसे ट्रेस करें

  1. तस्वीर चुनिए। लोगो, स्टेंसिल, दस्तखत, मुहर, स्कैन की हुई ड्रॉइंग, सिल्हूट। जिसमें भी कोई साफ़ आकार हो, वह अच्छे से ट्रेस होता है; किसी कमरे की फ़ोटो नहीं, और उसके बारे में नीचे साफ़ चेतावनी है, आखिर में कोई झटका नहीं। फ़ाइल सीधे आपकी डिस्क से पढ़ी जाती है और इस बीच कुछ भी कहीं नहीं भेजा जाता।
  2. बताइए कि आकार क्या है। कागज़ पर बनी ड्रॉइंग उजाले और अँधेरे से अलग हो जाती है, और उसका लेवल आपके लिए निकाल दिया जाता है। किसी चीज़ की फ़ोटो नहीं होती — गहरे स्लेटी पत्थर पर गहरी लाल मूर्ति, गहरे पर गहरा है, और कोई चमक उन्हें अलग नहीं करती। उसके लिए चाहिए विषय, जो तस्वीर के किनारे की एक पट्टी से सीखता है कि बैकग्राउंड क्या है और जो बैकग्राउंड नहीं है, वह सब रख लेता है।
  3. सेटिंग नहीं, लाल रेखा देखिए। आउटलाइन उन्हीं पिक्सलों के ऊपर खींची जाती है जिनसे वह निकली है, क्योंकि यह सवाल तय होने की बस यही एक जगह है: कोई आउटलाइन उन पिक्सलों के हिसाब से सही या गलत होती है, और किसी चीज़ के हिसाब से नहीं। किसी भी एक तस्वीर को खींचिए, दोनों खिसकती हैं; और पहिया घुमाकर इतना ज़ूम कीजिए कि दिखे रेखा असल में कर क्या रही है।
  4. जो नहीं होना चाहिए, उसे क्लिक करके हटाइए। कोई धब्बा, स्टेपल की पिन, मुहर, कैप्शन, परछाईं। एक क्लिक एक पिक्सल नहीं, उस रंग का पूरा धब्बा उठाता है, यानी आप एक आकार की ओर इशारा कर रहे हैं; वापस लाने के लिए फिर क्लिक कीजिए। घिरे हुए बैकग्राउंड के टुकड़े पर क्लिक करने से वह भर जाता है, और जो छेद छेद नहीं होना चाहिए, वह इसी तरह बंद होता है।
  5. चिकनाई तभी बदलिए जब ज़रूरत हो। बारीकी यह है कि सरल होते समय रेखा पिक्सलों से कितनी दूर जा सकती है, और जब तक आप कुछ और न कहें, यह हर आकार के लिए अलग निकाली जाती है। कोनों की धार तय करती है कि आउटलाइन को कितना मुड़ना चाहिए ताकि वह मोड़ गोल होने के बजाय कोना बना रहे। ज़्यादातर तस्वीरों में इन दोनों को छूने की ज़रूरत नहीं पड़ती।
  6. SVG ले लीजिए। एक फ़ाइल, एक <path>, और फ़िल रूल की कोई चिंता नहीं: आउटलाइन एक दिशा में घूमती हैं और छेद दूसरी में, और यही बात चालीस छेदों वाले आकार को एक ही एलिमेंट बनाती है। यह Illustrator, Inkscape, Figma, ब्राउज़र और कटिंग मशीन में खुलता है।

विस्तार से

तस्वीर को SVG में कैसे ट्रेस करें लोगो, स्टेंसिल, दस्तखत या सिल्हूट को अपने ब्राउज़र में असली वेक्टर आउटलाइन बनाइए। कौन-सी तस्वीरें अच्छे से ट्रेस होती हैं, कौन-सी कभी नहीं होंगी, और ट्रेसर जो हिस्से गलत करता है उन्हें कैसे ठीक करें।

सवाल

क्या मेरी तस्वीर कहीं अपलोड होती है?

नहीं। फ़ाइल को आपका अपना ब्राउज़र आपके अपने हार्डवेयर पर पढ़ता है, इसी ऑरिजिन से आई कुछ सौ पंक्तियों की JavaScript उसे ट्रेस करती है, और वह डाउनलोड बनकर वापस आती है। इस टूल में किसी भी तरह की कोई नेटवर्क सुविधा है ही नहीं — यह न कभी कुछ मँगाता है, न कभी कुछ भेजता है — और पेज की Content-Security-Policy में वह हर पता लिखा है जिससे यह संपर्क कर सकता है, और उनमें से एक भी इस साइट का नहीं।

क्या यह मेरी फ़ोटो को SVG बना देगा?

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

आकार ढूँढ़ने के दो तरीकों में फ़र्क क्या है?

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

ट्रेस किए आकार में छेद क्यों हैं, या पतले हिस्से क्यों गायब हो जाते हैं?

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

जो हिस्से इसने गलत किए, क्या मैं उन्हें ठीक कर सकता हूँ?

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

SVG कितनी बड़ी होगी?

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

क्या यह रंगों में ट्रेस करता है?

नहीं। यह एक रंग का एक आकार बनाता है, और यही वह मामला है जो घटिया फ़ोटोकॉपी नहीं, ड्रॉइंग बनकर निकलता है। रंगों में ट्रेस करने का मतलब है कुछ ही रंगों में घटाना और हर एक को अपनी अलग परत की तरह ट्रेस करना, और नतीजा उसे माँगने वाले ज़्यादातर लोगों को निराश करता है। रंग चाहिए तो आकार यहाँ ट्रेस कीजिए और उसे अपने ड्रॉइंग प्रोग्राम में भरिए।

SVG मिलने के बाद मैं उसका क्या कर सकता हूँ?

उसे बिना धुँधला हुए किसी भी साइज़ तक बड़ा कीजिए, एक एट्रिब्यूट से उसका रंग बदलिए, उसे एनिमेट कीजिए, छापिए, या कटिंग मशीन या लेज़र को भेजिए। यह एक ही <path> है जिसमें गलत करने को कोई फ़िल रूल नहीं, इसलिए Illustrator, Inkscape, Figma, ब्राउज़र और ज़्यादातर CNC सॉफ़्टवेयर इसे एक जैसा पढ़ते हैं।

क्या तस्वीर के साइज़ की कोई सीमा है?

आपकी मशीन की, हमारी नहीं। 300 dpi पर स्कैन किया A4 पन्ना — कोई नौ मेगापिक्सल — सेकंड के एक हिस्से में ट्रेस हो जाता है। बड़ी तस्वीरें भी चलती हैं; बस ज़्यादा समय लेती हैं, और काम आपके अपने प्रोसेसर पर होता है, कहीं किसी कतार में नहीं।

क्या यह मुफ़्त है, और क्या मुझे खाता चाहिए?

यह मुफ़्त है, और न कोई खाता है, न लॉगिन, न ट्रायल, न वॉटरमार्क। फ़ाइलों की संख्या या साइज़ की भी कोई सीमा नहीं, क्योंकि उनका खर्च उठाने वाला कोई सर्वर है ही नहीं — काम आपकी अपनी मशीन पर होता है। साइट पर विज्ञापन हैं, और वही इसका खर्च चलाते हैं; विज्ञापनों को आपकी फ़ाइलों के बारे में कुछ नहीं दिया जाता।

क्या यह ऑफ़लाइन चलता है?

हाँ। पेज एक बार लोड कीजिए, फिर इंटरनेट काट दीजिए, और यह चलता रहता है। यही सबसे सीधा तरीका भी है यह साबित करने का कि कुछ अपलोड नहीं हो रहा: जो टूल आपकी तस्वीर ट्रेस होने के लिए बाहर भेजता, वह तार खींचते ही रुक जाता।