पिछले हफ़्ते एक फ़ोल्डर आया: 312 प्रोडक्ट इमेज, साइज़ 800 × 800 से लेकर 5472 × 3648 तक, JPG और PNG के साथ कुछ HEIC फ़ाइलें भी। मार्केटप्लेस को 1600 × 1600 की JPG चाहिए थीं, 2MB से कम। इसी काम का दूसरा रूप ब्लॉग माइग्रेशन है: दो सौ PNG इलस्ट्रेशन को WebP में बदलना, चौड़ाई 1600 तक सीमित रखकर। दोनों अलग काम लगते हैं, पर पाइपलाइन एक ही है।

अलग-अलग पास से क्वालिटी क्यों गिरती है

सहज तरीका लगता है तीन टूल एक के बाद एक चलाना: रीसाइज़ करके डाउनलोड, कन्वर्ट करके डाउनलोड, कंप्रेस करके डाउनलोड। हर टूल बैच संभाल लेता है, लेकिन हर टूल खत्म करते समय फ़ाइल को दोबारा एन्कोड भी करता है। JPG लॉसी फ़ॉर्मैट है; हर एन्कोड कुछ जानकारी फेंक देता है, और तीन राउंड के बाद ज़ूम करने पर किनारों पर ब्लॉकिंग और रंगीन झालर साफ़ दिखने लगती है।

सही तरीका यह है कि एन्कोडिंग अंत में सिर्फ़ एक बार हो। इमेज को बिटमैप में डिकोड किया जाता है, रीसाइज़, क्रॉप और कन्वर्ज़न मेमोरी में होते हैं, और सिर्फ़ आख़िरी स्टेप टारगेट फ़ॉर्मैट और क्वालिटी में फ़ाइल लिखता है। बैच इमेज प्रोसेसिंग ऐसे ही बना है: तय क्रम में छह स्टेप, और बीच में कोई लॉसी चरण नहीं।

क्वालिटी की तुलना: तीन अलग टूल पास बनाम एक पाइपलाइन पास
एक ही इमेज तीन बार री-एन्कोड होने के बाद (बाएँ) और सिर्फ़ एक बार एन्कोड होने पर (दाएँ)

पहला मामला: मार्केटप्लेस के लिए 300 प्रोडक्ट इमेज

लक्ष्य: 1600 × 1600, JPG, 2MB से कम, और दाएँ नीचे दुकान का नाम। कदम दर कदम:

  1. साइज़: 1600 × 1600 भरें। चौड़ी और लंबी, दोनों तरह की इमेज पहले इतनी स्केल होती हैं कि उस बॉक्स को ठीक-ठीक ढक लें।
  2. अनुपात में क्रॉप: 1:1। चौकोर से जो बाहर निकले वह बीच से काट दिया जाता है; जिन प्रोडक्ट फ़ोटो में विषय बीच में है, उन पर कोई असर नहीं पड़ता।
  3. वॉटरमार्क: चालू, टेक्स्ट में दुकान का नाम, स्थान दायाँ नीचे, साइज़ 4 प्रतिशत, ओपेसिटी 50 प्रतिशत।
  4. आउटपुट: JPG, क्वालिटी 85, फ़ाइल नाम “name-001 के रूप में नाम बदलें”, SKU या कैटेगरी को प्रीफ़िक्स बनाकर।

एक आम लैपटॉप पर 312 इमेज तीन-चार मिनट में निपट जाती हैं और 200 से 600KB के बीच आती हैं, यानी 2MB की सीमा से काफ़ी नीचे। HEIC मूल फ़ाइलें सीधे पढ़ी जाती हैं, अलग से कन्वर्ट करने का राउंड नहीं चाहिए। ZIP में सलीकेदार क्रमांक वाले नाम मिलते हैं, यानी बिना नाम बदले सीधे अपलोड।

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

दूसरा मामला: ब्लॉग गैलरी को WebP में बदलना

लक्ष्य: हर इलस्ट्रेशन WebP में, चौड़ाई 1600 से ज़्यादा नहीं, और स्क्रीनशॉट तीखे बने रहें। पहले मामले से सरल:

  1. साइज़: चौड़ाई 1600, छोटी इमेज को बड़ा करने की अनुमति बंद। जो पहले से इससे संकरी है, उसे छुआ नहीं जाता।
  2. आउटपुट: WebP, क्वालिटी 80।
  3. फ़ाइल नाम: मूल नाम रखें। तब पोस्ट में बस एक्सटेंशन बदलता है, .png से .webp।

इस तरह बदली गई दो सौ PNG का वज़न आमतौर पर 70 प्रतिशत से ज़्यादा घट जाता है। सिर्फ़ एक चीज़ पर ध्यान दें: पारदर्शी बैकग्राउंड वाले लोगो और आइकन। WebP पारदर्शिता सपोर्ट करता है और पाइपलाइन अल्फ़ा चैनल बनाए रखती है, इसलिए यहाँ दिक्कत नहीं; पर टारगेट JPG होता तो पारदर्शी हिस्से सफ़ेद भर दिए जाते, और ऐसी फ़ाइलें PNG ही रहनी चाहिए।

बाद में दो नतीजे इमेज कन्वर्टर में डालकर देख लें कि पुराने ब्राउज़र में वे कैसे चलती हैं। यह सस्ती तसल्ली है।

भरें, फ़िट करें या सबसे लंबा किनारा?

रीसाइज़ का मोड वही सेटिंग है जिसमें लोग सबसे ज़्यादा गलती करते हैं। तीनों आम मोड एक-एक स्थिति के लिए हैं:

  • सबसे लंबा किनारा: बस इतना चाहिए कि इमेज बहुत बड़ी न हो, अनुपात से फ़र्क नहीं पड़ता। ब्लॉग इमेज और शेयर किए जाने वाले एल्बम।
  • W × H के अंदर फ़िट: पूरी इमेज बिना क्रॉप किए बॉक्स में आनी चाहिए, इसलिए एक किनारा कम पड़ सकता है। थंबनेल और स्लाइड।
  • W × H भरें: बॉक्स पूरा ढकना चाहिए और बाहर निकला हिस्सा कटेगा। मार्केटप्लेस इमेज, अवतार और तय अनुपात वाले कार्ड, आमतौर पर “अनुपात में क्रॉप” के साथ।

मोटा नियम: अगर प्लेटफ़ॉर्म कहे “N पिक्सल से ज़्यादा नहीं”, तो सबसे लंबा किनारा या फ़िट चुनें। अगर कहे “ठीक W × H होना चाहिए”, तो भरें।

चलाने से पहले दो जाँचें

पहली बात, लाइव प्रीव्यू देखें। पाइपलाइन पहली इमेज को मौजूदा सारी सेटिंग लगाकर दिखाती है: वॉटरमार्क की जगह, क्रॉप विषय को काट रहा है या नहीं, रंग में कोई बदलाव, सब एक नज़र में। पक्का करके “सभी प्रोसेस करें” दबाएँ। 300 फ़ाइलों के बाद पता चले कि दुकान का नाम प्रोडक्ट के ऊपर आ गया, ऐसा न हो।

दूसरी बात, मूल फ़ाइलें सँभालकर रखें। पाइपलाइन आपकी सोर्स फ़ाइलों को कभी नहीं बदलती, लेकिन री-एन्कोड हुई आउटपुट फ़ाइलों में EXIF या कैप्चर डेटा नहीं रहता, इसलिए ZIP डाउनलोड करने से पहले पक्का कर लें कि ओरिजिनल कहीं सुरक्षित हैं। जिन फ़ोटो से लोकेशन डेटा हटना चाहिए, उनके लिए यह खूबी है; देखें EXIF मेटाडेटा क्या है और उसे क्यों हटाएँ।

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