ImageMagick - फ़ाइल आकार कम करना

Imagemagick Fa Ila Akara Kama Karana



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

ImageMagick इंस्टॉल करना

इसके लिए हमें ImageMagick की आवश्यकता होगी, तो पहले इसे इंस्टॉल करें:







सुडो उपयुक्त-स्थापित करें imagemagick



गुणवत्ता स्विच

फोटो/चित्र/वीडियो के आकार को कम करने का सबसे पहला और आसान तरीका फोटो की गुणवत्ता को कम करना है। गुणवत्ता स्विच जेपीईजी/एमआईएफएफ/पीएनजी संपीड़न स्तर का प्रतिनिधित्व करता है। जेपीईजी और एमपीईजी के लिए, 1 की गुणवत्ता संपीड़न के उच्चतम स्तर और सबसे कम छवि गुणवत्ता का प्रतिनिधित्व करती है, जबकि 100 संपीड़न के न्यूनतम स्तर और सर्वोत्तम गुणवत्ता का प्रतिनिधित्व करती है।



तो आइए एक उदाहरण देखें; एक पेड़ का जो चित्र मैंने लिया है वह संकल्प के संदर्भ में 4624×3468 है और 5.70226MiB है। विशिष्ट होने के लिए यह मूल चित्र, एक JPEG है।






अब, बात यह है कि हम छवि के आकार को कम करना चाहते हैं। तो आइए गुणवत्ता स्विच सेटिंग्स को कुछ अलग करने की कोशिश करें और देखें कि क्या होता है।

कन्वर्ट tree_4624x3468.jpg -गुणवत्ता 75 पेड़_4624x3468_गुणवत्ता75.जेपीजी
कन्वर्ट tree_4624x3468.jpg -गुणवत्ता 25 पेड़_4624x3468_गुणवत्ता25.जेपीजी



मैंने एक चित्र के लिए गुणवत्ता को घटाकर 75 कर दिया और दूसरे के लिए 25 कर दिया। मूल छवि 5.70226MiB थी, लेकिन 75 की गुणवत्ता वाली छवि 2.74664MiB बन गई जबकि गुणवत्ता 25 की छवि 1358250 (1.295MiB) बन गई। यहाँ, मैं व्यक्तिगत रूप से 75% गुणवत्ता के साथ जाऊँगा।



अब, चूंकि हमें फोटो की वास्तविक गुणवत्ता की भी परवाह है, मैं आपको तस्वीरें दिखाता हूं:


पेड़_4624x3468_गुणवत्ता75.जेपीजी


पेड़_4624x3468_गुणवत्ता25.जेपीजी

जैसा कि आप देख सकते हैं, गुणवत्ता बहुत अधिक प्रभावित नहीं हुई है, लेकिन फ़ाइल का आकार छोटा है।

अब, मैंने पीएनजी के साथ ऐसा करने की कोशिश की, और मुझे यही मिला:


तो, यह 23501600B (22.413MiB) से 22.2854MiB हो गया। JPEG के लिए, यह 5.70226MiB से 1.295MiB हो गया। पीएनजी जैसे गैर-हानिकारक प्रारूपों के लिए, गुणवत्ता स्विच बहुत कठिन है।

चित्रों का आकार बदलना

चित्रों का आकार बदलना दूसरा तरीका है। उदाहरण के लिए:

कन्वर्ट tree_4624x3468.jpg -आकार बदलें पचास % x50 % ट्री_4624x3468_resize50 % जेपीजी



जैसा कि आप स्पष्ट रूप से देख सकते हैं, जो तस्वीर 4624×3468 थी वह 5.70226MiB थी, जबकि जो 2312×1734 थी वह केवल 1.56287MiB थी।

परिभाषित स्विच

परिभाषित स्विच के बाद एक कुंजी और उसका दिया गया मान होता है।

- परिभाषित कुंजी {= मान} ...

संभावित प्रमुख मूल्यों की सूची यहां पाई जा सकती है .

पीएनजी के लिए, आप पीएनजी का उपयोग कर सकते हैं: संपीड़न-स्तर = मूल्य। मान 0 से 9 तक कुछ भी हो सकता है। 0 का मान आपको सबसे कम संपीड़न प्रदान करेगा, लेकिन यह तेज़ है, और 9 का मान आपको सबसे अच्छा संपीड़न प्रदान करेगा लेकिन यह सबसे धीमा है। बीच में कुछ भी जाता है।

उदाहरण के लिए:

कन्वर्ट ट्री_4624x3468.png -परिभाषित करना पीएनजी: संपीड़न-स्तर = 9 पेड़_4624x3468_संपीड़न9.png



ज्यादातर मामलों में, एक प्रोग्रामर जो चाहता है वह फोटो के लिए अधिकतम आकार निर्धारित करना है। तो, उदाहरण के लिए मान लीजिए कि आप फोटो के लिए अधिकतम आकार सेट करना चाहते हैं। ऐसा करने के लिए आप परिभाषित स्विच का उपयोग कर सकते हैं।

जेपीईजी परिभाषित करें: सीमा = {आकार}

बदलाव  tree_4624x3468.jpg -परिभाषित करना जेपीईजी: क्षेत्र =1MB ट्री_4624x3468_extent1MB.jpg



जैसा कि आप ऊपर की तस्वीर में देख सकते हैं, इसने इसे 4624×3468 के रिज़ॉल्यूशन और 0.897MiB के आकार में सेट किया है। इसलिए, जैसा कि आपने अनुरोध किया है, इमेजमैजिक ने एक फोटो बनाया है जो 1एमबी के अधिकतम आकार से कम है।

स्ट्रिप स्विच

कैमरे से हम जो तस्वीरें लेते हैं वे मेटाडेटा के साथ आती हैं। मेटाडेटा को हटाने से भी कुछ जगह खाली हो सकती है। ImageMagick में, हम स्ट्रिप स्विच का उपयोग करके ऐसा करते हैं।

कन्वर्ट tree_4624x3468.jpg -पट्टी tree_strip.jpg



यहाँ, जैसा कि आप देख सकते हैं, मूल तस्वीर 4624×3468 और 5.7MiB है। लेकिन जिस छवि का मेटाडेटा छीन लिया गया है वह 4.65MiB है।

कलरस्पेस स्विच

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

कन्वर्ट tree_4624x3468.jpg -रंगीन स्थान ग्रे ट्री_ग्रे.जेपीजी -गुणवत्ता 75



जैसा कि आप देख सकते हैं, छवि आकार में कमी बहुत बड़ी नहीं है, लेकिन कमी है - 5.70226MiB से 4.44997MiB तक।

वैकल्पिक रूप से, मैंने निम्नलिखित का भी प्रयास किया:

कन्वर्ट ट्री_4624x3468.png -रंगीन स्थान ग्रे ट्री_ग्रेpng.png



PNG के मामले में, मेरी मूल तस्वीर, जो कि 4624×3468 है, 22.42MiB है, लेकिन जब मैं इसे ग्रे रंग में बदलता हूं, तो यह 8.88MiB हो जाती है।

रंग स्विच

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

कन्वर्ट ट्री_4624x3468.png -रंग की 16 ट्री_4624x3468_16colors.png



मूल PNG 4624×3468 और 22.42MiB था। हालाँकि, जब मैंने रंगों को केवल 16 में बदला, तो छवि का आकार 4.27MiB हो गया। और फोटो ऐसा दिखता है:


ट्री_4624x3468_16colors.png

एकाधिक स्विच का उपयोग करना

अब, आपको किसी फ़ोटो पर एक ही स्विच का उपयोग करने की आवश्यकता नहीं है! आप एक चित्र पर जितने चाहें उतने स्विच जोड़ सकते हैं।

इसलिए, उदाहरण 1 में, मैं एक पेड़ की PNG तस्वीर लेने जा रहा हूँ। यह मूल तस्वीर 4624 × 3468 और 22.42MiB आकार की है, और मैं कई स्विच का उपयोग करने जा रहा हूं और देखूंगा कि यह मुझे कहां ले जाता है।

कन्वर्ट ट्री_4624x3468.png -पट्टी -आकार बदलें 75 % x75 % -परिभाषित करना पीएनजी: संपीड़न-स्तर = 9 -रंगीन स्थान ग्रे  tree_4624x3468_reducedsize.png



तो यह PNG, 22.42MiB के मूल आकार के साथ, 5.3MiB की तस्वीर में बदल गया। परिणामी तस्वीर मूल आकार का लगभग 23% है।

तो आगे, एक जेपीजी देखें।

कन्वर्ट tree_4624x3468.jpg -गुणवत्ता 75 -आकार बदलें 75 % x75 % -पट्टी -रंग की 16 tree_4624x3468_reducedsize.jpg



तो, यहाँ, JPG के लिए, हम एक रंगीन छवि के लिए 5.7MiB के मूल आकार से लगभग 2.2MiB तक गए।

लेकिन अगर यह रंगीन नहीं थे:

कन्वर्ट tree_4624x3468.jpg -गुणवत्ता 75 -आकार बदलें 75 % x75 % -पट्टी -रंगीन स्थान ग्रे ट्री_4624x3468_reducedsize.jpg



यहां, हम ग्रे छवि के लिए 5.7MiB के मूल आकार से 1.6MiB तक गए।

यदि आप चाहते तो आकार पर भी अधिकतम सीमा निर्धारित कर सकते थे। मुद्दा यह है कि यदि आप वास्तव में अपना दिमाग लगाते हैं तो आप आकार को कम कर सकते हैं।

निष्कर्ष

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