PNG फाइल साइज को कम करने के 3 तरीके
PNG दोषरहित (lossless) प्रारूप है, यही वजह है कि इसकी फ़ाइलें बहुत बड़ी होती हैं। इसे ठीक करने के तीन तरीके, और प्रत्येक की क्या कीमत चुकानी पड़ती है।
आपकी PNG फ़ाइल 8 MB की इसलिए है क्योंकि PNG हर एक पिक्सेल को बिल्कुल सटीक रूप से सहेजता है, और रेटिना रिज़ॉल्यूशन पर पूरे पेज के स्क्रीनशॉट में वास्तव में इतनी अधिक जानकारी होती है। यह प्रारूप किसी भी जानकारी को नहीं छोड़ता है, जो कि PNG की सबसे बड़ी खूबी भी है और सबसे बड़ी समस्या भी।
इसे ठीक करने के 3 तरीके हैं, और प्रत्येक तरीके में आपको कुछ अलग समझौता करना पड़ता है। आयामों (dimensions) को कम करने से रिज़ॉल्यूशन कम होता है जिसका आप शायद उपयोग भी नहीं कर रहे थे। रंग की गहराई (colour depth) को कम करने से तस्वीरों पर रंगों की सटीकता प्रभावित होती है। प्रारूप (format) बदलने से ब्राउज़र के बाहर अनुकूलता (compatibility) प्रभावित होती है। छवि किस काम के लिए है, इस आधार पर चुनाव करें।
आपके 3 विकल्प
- आयामों को कम करें। मुफ़्त, और आमतौर पर सबसे बड़ा फ़ायदा। किसी को भी 5000 पिक्सेल के स्क्रीनशॉट की आवश्यकता नहीं होती है।
- रंग की गहराई को कम करें। सपाट ग्राफ़िक्स पर अच्छा काम करता है, तस्वीरों पर खराब काम करता है।
- प्रारूप बदलें। WebP पारदर्शिता (transparency) को बनाए रखता है और आमतौर पर 25 से 35 प्रतिशत छोटा होता है।
PNG फ़ाइलें इतनी तेज़ी से क्यों बड़ी हो जाती हैं
PNG फ़ाइल का आकार सीधे पिक्सेल की संख्या के साथ बढ़ता है, क्योंकि प्रत्येक पिक्सेल का सटीक विवरण होना आवश्यक है। चौड़ाई और ऊंचाई को दोगुना करने से पिक्सेल की संख्या चार गुना हो जाती है और फ़ाइल का आकार भी लगभग चार गुना हो जाता है।
एक उच्च रिज़ॉल्यूशन वाले मॉनिटर से लिए गए 5120 x 2880 के स्क्रीनशॉट में 14.7 मिलियन पिक्सेल होते हैं। संपीड़न (compression) से पहले प्रति पिक्सेल 3 बाइट्स पर यह 44 MB का कच्चा डेटा (raw data) होता है, और PNG संपीड़न आमतौर पर इसे 4 MB और 12 MB के बीच ले आता है, जो इस बात पर निर्भर करता है कि छवि में कितना सपाट रंग है। 8 MB का परिणाम सामान्य है, न कि कोई खराबी।
समाधान 1: आयामों को कम करें
छवि को उस अधिकतम आकार में बदलें जिस पर इसे प्रदर्शित किया जाना है, जिससे कुछ और करने से पहले ही फ़ाइल का अधिकांश भार कम हो जाता है। यह सबसे अधिक प्रभाव और सबसे कम लागत वाला समाधान है।
| मूल आकार | बदला गया आकार | हटाए गए पिक्सेल | सामान्य फ़ाइल |
|---|---|---|---|
| 5120 x 2880 | 2560 x 1440 | 75 प्रतिशत | 8 MB से 2 MB |
| 3840 x 2160 | 1920 x 1080 | 75 percent | 5 MB से 1.3 MB |
| 2560 x 1440 | 1280 x 720 | 75 percent | 2 MB से 500 KB |
| 4000 x 3000 photo | 1600 x 1200 | 84 percent | 18 MB से 2.9 MB |
यह मापें कि छवि पेज पर अधिकतम कितनी चौड़ी प्रदर्शित होगी, उच्च घनत्व (high density) वाली स्क्रीन के लिए उसे दोगुना करें, और उस आकार में बदलें। 800 पिक्सेल चौड़ाई में प्रदर्शित होने वाले स्क्रीनशॉट के लिए केवल 1600 पिक्सेल की आवश्यकता होती है, उससे अधिक की नहीं।
समाधान 2: रंग की गहराई को कम करें
24 बिट रंग से 8 बिट पैलेट में बदलने से PNG का आकार 50 से 70 प्रतिशत तक कम हो जाता है, और यह केवल सीमित रंगों वाली छवियों पर ही काम करता है। इंटरफ़ेस के स्क्रीनशॉट, आरेख, लोगो और चार्ट इसके लिए आदर्श हैं।
यह तकनीक पूर्ण रंग मानों को सहेजने के बजाय 256 रंगों तक का एक पैलेट सहेजती है और प्रति पिक्सेल उसका संदर्भ देती है। उपयोगकर्ता इंटरफ़ेस के स्क्रीनशॉट में शायद ही कभी 256 से अधिक विशिष्ट रंग होते हैं, इसलिए यह कमी दिखाई नहीं देती है। एक तस्वीर में हजारों रंग होते हैं, इसलिए यही कमी आसमान और त्वचा पर स्पष्ट पट्टियां (banding) उत्पन्न करती है।
समाधान 3: प्रारूप बदलें
वेब उपयोग के लिए WebP में बदलें, जो पारदर्शिता को बनाए रखता है और आमतौर पर PNG की तुलना में 25 से 35 प्रतिशत छोटा होता है। JPG में केवल तभी बदलें जब छवि फोटोग्राफिक हो और उसमें पारदर्शिता की आवश्यकता न हो।
- WebP lossless ग्राफ़िक्स और स्क्रीनशॉट के लिए, जो हर पिक्सेल को बिल्कुल सटीक रखता है और फिर भी 20 से 30 प्रतिशत की बचत करता है।
- WebP lossy फोटोग्राफिक PNG फ़ाइलों के लिए, जहाँ बचत 70 प्रतिशत या उससे अधिक तक पहुँच जाती है।
- JPG बिना पारदर्शिता वाली तस्वीरों के लिए, जहाँ शुरुआत से ही PNG का चयन गलत था।
- AVIF बड़ी फोटोग्राफिक छवियों के लिए, जो 100 KB से बड़ी फ़ाइलों पर और भी अधिक संपीड़न करता है।
- Vector graphics लोगो और आइकन के लिए, जहाँ एक SVG फ़ाइल का आकार किसी भी रास्टर प्रारूप की तुलना में बेहद कम हो सकता है।
सबसे आम कारण: PNG के रूप में सहेजी गई तस्वीर
PNG के रूप में सहेजी गई तस्वीर उसी तस्वीर को JPEG के रूप में सहेजने की तुलना में 3 से 5 गुना बड़ी होती है, जिसमें कोई दृश्य अंतर नहीं होता है। यह अकेली गलती अधिकांश अत्यधिक बड़ी PNG फ़ाइलों के लिए ज़िम्मेदार है।
PNG संपीड़न दोहराव की तलाश करता है, और तस्वीरों में पिक्सेल स्तर पर लगभग कोई दोहराव नहीं होता है, क्योंकि हर पिक्सेल अपने पड़ोसी पिक्सेल से थोड़ा भिन्न होता है। प्रारूप अंततः लाखों लगभग अद्वितीय मानों को बिल्कुल सटीक रूप से सहेजता है। तस्वीरों को JPEG या WebP के रूप में सहेजें और PNG को केवल उन छवियों के लिए सुरक्षित रखें जिनमें वास्तव में सपाट रंग या पारदर्शिता हो।
गुणवत्ता खोए बिना PNG को छोटा कैसे करें
गुणवत्ता खोए बिना (lossless) PNG को छोटा करने के लिए, क्रम से इन 5 चरणों का पालन करें।
- किसी भी अप्रयुक्त क्षेत्र को क्रॉप करके हटा दें, क्योंकि खाली मार्जिन भी फ़ाइल का आकार बढ़ाते हैं।
- छवि को उस अधिकतम प्रदर्शन आकार में बदलें जिसकी उसे कभी आवश्यकता होगी, उच्च घनत्व वाली स्क्रीन के लिए इसे दोगुना करें।
- जांचें कि क्या छवि को वास्तव में पारदर्शिता की आवश्यकता है, क्योंकि एक समतल (flattened) छवि बेहतर संकुचित होती है।
- यदि छवि तस्वीर के बजाय कोई ग्राफ़िक है, तो रंग पैलेट को कम करें।
- WebP lossless में बदलें, जो अभी भी बिल्कुल सटीक है और आमतौर पर 20 से 30 प्रतिशत छोटा होता है।
चरण 1 और 2 आमतौर पर अकेले ही समस्या का समाधान कर देते हैं। शेष चरण तब महत्वपूर्ण होते हैं जब किसी छवि को बहुत बड़ा रखना आवश्यक हो, जैसे कि दस्तावेज़ीकरण (documentation) में पूरे पेज का स्क्रीनशॉट।
आधुनिक स्क्रीन पर स्क्रीनशॉट इतने बड़े क्यों होते हैं
उच्च घनत्व वाले डिस्प्ले तार्किक रिज़ॉल्यूशन (logical resolution) से 2 या 3 गुना अधिक पर कैप्चर करते हैं, इसलिए 1200 पिक्सेल चौड़ी विंडो का स्क्रीनशॉट 2400 या 3600 पिक्सेल पर सहेजा जाता है। फ़ाइल का आकार विंडो के वास्तविक रूप से दिखने वाले आकार से कहीं अधिक बड़ा होता है।
वह अतिरिक्त रिज़ॉल्यूशन तब उपयोगी होता है जब स्क्रीनशॉट को किसी अन्य उच्च घनत्व वाली स्क्रीन पर देखा जाना हो, अन्यथा यह व्यर्थ है। दस्तावेज़ीकरण और सहायता लेखों के लिए, तार्किक आकार में वापस बदलने से आयाम आधे हो जाते हैं और फ़ाइल का आकार लगभग 75 प्रतिशत कम हो जाता है, जबकि यह अधिकांश पाठकों को बिल्कुल समान दिखाई देता है।
बड़ी PNG फ़ाइल को कब बनाए रखना चाहिए
पूर्ण आकार की PNG फ़ाइल को तब बनाए रखें जब छवि एक मास्टर फ़ाइल, प्रिंट एसेट या कोई ऐसा स्रोत हो जिसे बाद में संपादित किया जाना हो। संपीड़न के निर्णय मूल फ़ाइलों के बजाय वितरण प्रतियों (delivery copies) पर लागू होते हैं।
डिज़ाइन फ़ाइलें, लोगो मास्टर, प्रिंट आर्टवर्क और स्कैन किए गए दस्तावेज़ सभी अपने बड़े आकार को सही ठहराते हैं। उन्हें पूर्ण रिज़ॉल्यूशन पर सहेजें और प्रत्येक गंतव्य के लिए छोटी प्रतियां तैयार करें। गलती मास्टर फ़ाइल को सहेजने के बजाय उसे प्रकाशित करने में है, क्योंकि एक मास्टर फ़ाइल डिस्क स्थान केवल एक बार लेती है जबकि प्रकाशित मास्टर फ़ाइल हर विज़िट पर बैंडविड्थ खर्च करती है।
पारदर्शिता की लागत लोगों की अपेक्षा से अधिक होती है
एक पारदर्शिता चैनल (transparency channel) प्रत्येक पिक्सेल में चौथा मान जोड़ता है, जिससे संपीड़न से पहले कच्चे डेटा में लगभग 33 प्रतिशत की वृद्धि होती है। कई PNG फ़ाइलें बिना उपयोग के भी उस चैनल को ले जाती हैं।
स्क्रीनशॉट, निर्यात किए गए चार्ट और सफेद पृष्ठभूमि पर समतल की गई छवियों में अक्सर एक अल्फा चैनल होता है जो हर जगह पूरी तरह से अपारदर्शी (opaque) होता है। इसे हटाने से दृश्य रूप से कुछ भी नुकसान नहीं होता है और फ़ाइल का आकार मापने योग्य रूप से कम हो जाता है। यह मान लेने से पहले कि चैनल आवश्यक है, जांच लें कि क्या छवि को वास्तव में पारदर्शी पृष्ठभूमि की आवश्यकता है, क्योंकि सफेद पेज पर रखी जाने वाली अधिकांश छवियों को इसकी आवश्यकता नहीं होती है।
क्या PNG को संकुचित करने से गुणवत्ता कम होती है
दोषरहित (lossless) PNG अनुकूलन से कुछ भी नुकसान नहीं होता है, जबकि रंगों या आयामों को कम करने से छवि स्थायी रूप से बदल जाती है। इन 3 तकनीकों का अक्सर एक साथ वर्णन किया जाता है लेकिन ये समान नहीं हैं।
दोषरहित अनुकूलन यह पुनर्गठित करता है कि फ़ाइल अपने डेटा को कैसे सहेजती है और आमतौर पर पिक्सेल-समान आउटपुट के साथ 5 से 20 प्रतिशत की बचत करता है। पैलेट में कमी और आकार बदलना छवि को ही बदल देते हैं, जो वितरण प्रतियों के लिए स्वीकार्य है और मास्टर फ़ाइलों के लिए अस्वीकार्य है। जब भी कमी प्रतिवर्ती (reversible) न हो, मूल फ़ाइल को सुरक्षित रखें।
अत्यधिक बड़ी PNG फ़ाइलों के पूरे फ़ोल्डर को ठीक करना
पूरे फ़ोल्डर को एक साथ बैच में संसाधित करें, क्योंकि अत्यधिक बड़ी PNG फ़ाइलें आमतौर पर एक ही स्रोत से समूहों में आती हैं। एक दस्तावेज़ीकरण सेट, एक स्क्रीनशॉट लाइब्रेरी या किसी डिज़ाइन टूल से निर्यात की गई फ़ाइलों में आमतौर पर एक जैसी ही समस्या होती है।
एक बार में 500 तक फ़ाइलें डालें, या सीधे एक ZIP आर्काइव खींचकर लाएं, और पूरे सेट के लिए एक बार आयाम और प्रारूप सेट करें। सब कुछ आपके अपने प्रोसेसर पर आपके ब्राउज़र के भीतर चलता है, इसलिए आंतरिक स्क्रीनशॉट, उत्पाद डिज़ाइन और क्लाइंट दस्तावेज़ कभी भी किसी सर्वर तक नहीं पहुँचते हैं। कुछ भी अपलोड नहीं किया जाता है, इसलिए पढ़ने के लिए कोई प्रतिधारण नीति (retention policy) नहीं है और बाद में कुछ भी शेष नहीं बचता है।
फ़ाइलों के साथ-साथ समस्या के स्रोत को भी ठीक करें। पूर्ण रेटिना रिज़ॉल्यूशन पर PNG सहेजने के लिए सेट किया गया स्क्रीन कैप्चर टूल अनिश्चित काल तक 8 MB की फ़ाइलें बनाता रहेगा। अधिकांश कैप्चर टूल एक डिफ़ॉल्ट प्रारूप और एक स्केल फ़ैक्टर की अनुमति देते हैं, और दोनों को एक बार बदलने से हर सहायता लेख के बाद स्क्रीनशॉट को फिर से संसाधित करने की आवश्यकता समाप्त हो जाती है।