Ubuntu conjure कमांड गाइड: MSL इमेज ऑटोमेशन

परिचय एवं तकनीकी पृष्ठभूमि

ImageMagick सूट का conjure यूटिलिटी टूल XML-आधारित Magick Scripting Language (MSL) फाइलों को प्रोसेस करके ग्राफिक्स मैनिपुलेशन के जटिल टास्क को खुद-ब-खुद पूरा करने की सुविधा देता है। इस ट्यूटोरियल में हम आवश्यक पैकेज इंस्टॉल करने से लेकर कस्टम MSL स्क्रिप्ट लिखने, फिल्टर इफेक्ट्स जोड़ने और पैरामीटराइज्ड वैरिएबल्स की मदद से प्रोडक्शन-ग्रेड ऑटोमेशन तैयार करने की पूरी कार्यविधि सीखेंगे।

ImageMagick सेटअप और conjure एनवायरनमेंट की पुष्टि

सिस्टम पर इस टूल का उपयोग शुरू करने के लिए सबसे पहले APT रिपॉजिटरी इंडेक्स को रीफ्रेश करके कोर imagemagick पैकेज स्थापित करते हैं।

apt-get update -qq && apt-get install -y imagemagick

इंस्टॉलेशन सफल होने के बाद PATH एनवायरनमेंट में बाइनरी फाइल की लोकेशन जांचने हेतु which conjure रन किया जाता है।

which conjure

यह कमांड-लाइन इंटरप्रेटर MSL स्क्रिप्ट्स के निर्देशों को डिकोड करके ग्राफ़िक्स प्रोसेसिंग को सुव्यवस्थित करता है।
बिल्ड डिटेल्स और समर्थित फीचर्स का जायजा लेने के लिए -version फ्लैग का उपयोग करें।
⚙️ [महत्वपूर्ण कमांड विकल्प]

-version : वर्तमान सॉफ्टवेयर रिलीज और कंपाइलेशन कॉन्फ़िगरेशन प्रदर्शित करता है।
-verbose : स्क्रिप्ट निष्पादन के दौरान विस्तृत डीबगिंग लॉग्स दिखाता है।
-monitor : रेंडरिंग और ट्रांसफॉर्मेशन प्रोग्रेस को लाइव ट्रैक करता है।
-quiet : रनटाइम के समय गैर-ज़रूरी चेतावनियों को स्क्रीन पर आने से रोकता है।
-regard-warnings : किसी भी चेतावनी को एरर मानकर एग्जिट स्टेटस में दर्ज करता है।

conjure -version

बेसिक MSL स्क्रिप्ट निर्माण एवं इमेज रीसाइज़िंग

प्रयोगों को व्यवस्थित रखने के लिए एक समर्पित डायरेक्टरी तैयार करके उसमें प्रवेश करते हैं:

mkdir -p ~/conjure_demo && cd ~/conjure_demo

परीक्षण हेतु 400x400 रेजोल्यूशन वाला एक डमी कैनवास जनरेट करने के लिए convert कमांड का सहारा लेते हैं:

convert -size 400x400 xc:lightblue sample_input.png

सोर्स फाइल को लोड कर उसके डाइमेंशन्स को घटाकर 200x200 पिक्सल में बदलने और नया आउटपुट लिखने के लिए XML सिंटैक्स वाली स्क्रिप्ट तैयार करते हैं:

![cat « ‘EOF’ > resize.msl

परिभाषित XML निर्देशों को निष्पादित करने और रीसाइज़िंग प्रोसेस रन करने के लिए conjure को इनपुट फाइल सौंपते हैं:

conjure resize.msl

मूल इनपुट और नए आउटपुट के आकार में आए बदलाव की तुलना करने के लिए identify टूल से मेटाडेटा का निरीक्षण करते हैं:

identify sample_input.png sample_resized.png

रोटेशन और स्पेशल इफेक्ट्स के लिए मल्टी-स्टेप MSL पाइपलाइन

ग्राफिक्स में 45-डिग्री घुमाव (रोटेशन) देने और कलात्मक चारकोल प्रभाव जोड़ने के लिए मल्टी-टास्क पाइपलाइन स्क्रिप्ट तैयार की जाती है:

![cat « ‘EOF’ > effects.msl

एक ही रन में दोनों ट्रांसफॉर्मेशन एक साथ लागू करने के लिए कंपोजिट स्क्रिप्ट को निष्पादित किया जाता है:

conjure effects.msl

प्रोसेसिंग के उपरांत तैयार हुई फाइल का फॉर्मेट और बिटमैप संरचना सत्यापित करने के लिए file यूटिलिटी का उपयोग करते हैं:

file sample_effects.png

-define फ्लैग से डायनेमिक वैरिएबल्स और बैच ऑटोमेशन

हार्डकोडेड डाइमेंशन्स की जगह रनटाइम वेरिएबल %[target_size] का संदर्भ लेकर फ्लेक्सिबल MSL फ़ाइल बनाई जाती है:

![cat « ‘EOF’ > dynamic.msl

कमांड लाइन से -define पैरामीटर पास करते हुए target_size का मान 120x120 सेट कर स्क्रिप्ट को रन करते हैं:

conjure -define target_size=120x120 dynamic.msl

वेरिएबल इंजेक्शन के जरिए जेनरेट हुई इमेज के सटीक डाइमेंशन्स की पुष्टि identify द्वारा की जाती है:

identify sample_dynamic.png

इस गाइड में हमने उबंटू पर conjure और MSL स्क्रिप्ट्स के समन्वय से बैच ग्राफिक्स प्रोसेसिंग पाइपलाइन तैयार करना सीखा। इस वर्कफ़्लो को अपनी आवश्यकतानुसार विस्तारित करके आप लिनक्स सर्वर पर बार-बार होने वाले इमेज प्रोसेसिंग कार्यों को पूरी तरह ऑटोमेट कर सकते हैं।