पारदर्शिता का संरक्षण करते हुए पीएनजी बैच का आकार परिवर्तन और बचत


10

मुझे लगभग 700+ png चित्र मिले हैं। मुझे उनका आकार बदलने और उन्हें बचाने की जरूरत है। हालाँकि मुझे भी उनकी पारदर्शिता बरकरार रखने की आवश्यकता है।

मैंने इरफानव्यू की कोशिश की, लेकिन यह काम नहीं किया। GIMP काम करता है, लेकिन मुझे बैच सेविंग विकल्प नहीं मिल रहा है। मैं मैन्युअल रूप से आकार बदलने और 700+ छवियां सहेजने वाला नहीं हूं। वह बहुत थकाऊ है।

क्या कोई ऐसा आवेदन है जो मुझे चाहिए?


क्या आपने ImageMagick की कोशिश की है?
slhck

नहीं, लेकिन यह सर्वर के लिए नहीं है?
क्रोधी राजभाषा 'भालू

1
सर्वर के लिए आपका क्या मतलब है? यह एक कमांड-लाइन सॉफ्टवेयर है जिसे किसी भी ऑपरेटिंग सिस्टम पर चलाया जा सकता है।
slhck

हाँ, नहीं। कमांड-लाइन मेरी ताकत नहीं है। मुझे एक आसान GUI के साथ कुछ चाहिए।
क्रोधी राजभाषा 'भालू

@ डोनल्वा आप इसे बिना किसी ताकत के भी ffmpeg का उपयोग करके cmd की 2 लाइनों के भीतर कर सकते हैं
Jet

जवाबों:


10

क्षमा करें, आपको कमांड लाइन का उपयोग करना होगा। मुझे वास्तव में संदेह है कि आप इससे निपटने के लिए GUI प्रोग्राम पा सकते हैं।

आपने निर्दिष्ट नहीं किया है कि आप किस OS का उपयोग कर रहे हैं। लिनक्स पर, निम्न कमांड वर्तमान निर्देशिका में सभी .png फाइलों का आकार बदल देगा। ध्यान दें कि यह मूल चित्रों को अधिलेखित करेगा:

##  bash (Linux, OSX):
for i in *png; do convert "$i" -resize 32x32 "$i"; done
##  on Windows:
for %i in (*png); do convert %i -resize 32x32 %i; done

ध्यान दें कि, विंडोज लाइन के लिए, यदि आप इसे कमांड-लाइन के बजाय स्क्रिप्ट में उपयोग कर रहे हैं, तो आपको इसके बजाय उपयोग करने की आवश्यकता %%iहै %i


एक अन्य विकल्प जीआईएमपी स्क्रिप्टिंग होगा । यह स्क्रिप्ट आपकी छवि का आकार बदल देगी ( स्रोत ):

(define (batch-resize pattern width height)
(let* ((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-get-active-layer image))))
(gimp-image-scale-full image width height INTERPOLATION-CUBIC)
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image))
(set! filelist (cdr filelist)))))

इसे batch_resize.scmGIMP की scriptsनिर्देशिका के रूप में सहेजें , फिर इसे निम्नानुसार चलाएं:

gimp -i -b '(batch-resize "*.JPG" 604 453)' -b '(gimp-quit 0)'

अपडेट करें:

मैं सिर्फ इस पोस्ट पर ठोकर खाई है जो बताता है कि GIMP प्लगइन डेविड के बैच प्रोसेसर को वही करना चाहिए जो आप चाहते हैं। लेख लिनक्स के बारे में है, लेकिन प्लगइन के पृष्ठ पर एक विंडोज़ संस्करण के लिए एक लिंक है ।


मेरा बुरा, मैं हमेशा ओएस भूल गया। यह Win7 64bit है।
क्रोधी राजभाषा 'भालू

खैर, ImageMagick में एक विंडोज़ संस्करण है और आपको (किसी तरह) विंडोज़ में भी GIMP स्क्रिप्ट का उपयोग करने में सक्षम होना चाहिए।
टेराडॉन

@DonSalva अपडेटेड उत्तर देखें।
टेराडॉन

ImageMagick इस प्रकार के काम के लिए एक बहुत बढ़िया साधन है। जानें कि इसका उपयोग कैसे करें और आप इसे हमेशा के लिए पसंद करेंगे!
ली हैरिसन

विंडोज़ कमांड लाइन जोड़ने के लिए @evilsoup को सभी धन्यवाद।
टेराडॉन

4

मुझे लगता है कि ImBatch टूल आपके काम में आपकी मदद कर सकता है। मेरे लिए Win7 x64 के साथ ठीक काम करता है। ये मुफ्त है।


महान उपकरण, इरफानव्यू की तुलना में बहुत अधिक लचीला और अल्फा के साथ png का समर्थन करता है - धन्यवाद!
तोमाका काफ्का

3

XNConvert में उन कार्यों के लिए एक सरल और सहज ज्ञान युक्त GUI है।

XnConvert एक शक्तिशाली और मुफ्त क्रॉस-प्लेटफ़ॉर्म बैच इमेज प्रोसेसर है, जो आपको 80 से अधिक कार्यों को संयोजित करने की अनुमति देता है। 500 प्रारूपों के साथ संगत। यह XnViewMP के बैच प्रोसेसिंग मॉड्यूल का उपयोग करता है

  • बैच प्रसंस्करण
  • पारदर्शिता का परीक्षण (एक पारदर्शी पीएनजी के साथ परीक्षण )
  • स्वचालित या पूर्वनिर्धारित आकार
  • कोई स्थापना आवश्यक नहीं है

यहाँ छवि विवरण दर्ज करें


मैंने यह कोशिश की और इसने पारदर्शिता (मैक संस्करण) को बनाए नहीं रखा। क्या यह बनाता है कि किस तरह की रेज़ोमलिंग का उपयोग किया जाता है (मैंने लैंक्ज़ोस का इस्तेमाल किया जैसा आपने किया था)।
नीको

अपने आप को यह काम किया - बिलिनियर रेसमलिंग का उपयोग करना। आप 'आफ्टर' विंडो में देख सकते हैं कि यह कैसा दिख रहा है - यदि पारदर्शी क्षेत्र काला है तो आपको पता है कि यह काम नहीं कर रहा है।
23

@ हनीको मैंने अब 3 अलग-अलग resample के तरीकों की कोशिश की, लैंक्ज़ोस भी। वे सभी पारदर्शी छवियों का उत्पादन करते हैं। हो सकता है कि मैक संस्करण एक अलग तरीके से काम करता है
निक्सेडा

मैंने पीसी और मैक पर यह कोशिश की - दोनों पर समान। इसके अलावा - अब मैंने देखा कि मैंने जो रेज़मैपलिंग किया वह नरक और अनुपयोगी है।
निको

2

डिफ़ॉल्ट रूप से, FFMpeg का उपयोग करना सबसे छोटा तरीका है :)
इसे यहां डाउनलोड करें , इसे अपनी फ़ाइलों के साथ फ़ोल्डर में रखें, कमांड लाइन खोलें, अपने फ़ोल्डर पर जाएं (साथ cd) और वहां लिखें:

mkdir Resized
for %f in (*.png) do ffmpeg -i "%~nxf" -s 32x32 "Resized\%~nxf"

और 32x32अपने आकार के साथ बदलें । यह आपके PNGs का आकार बदलकर Resizedफ़ोल्डर पर रख देगा ।
यह बैच फ़ाइल के बिना काम करेगा। हालाँकि यदि आप इसे बैट फाइल में रखना चाहते हैं, तो %%इसके स्थान पर लिखें %

आशा है इससे आपकी मदद होगी।


0

मैंने ImBatch या XNConvert की कोशिश नहीं की है, कि दूसरों ने यहां उल्लेख किया है, लेकिन यहां आपके लिए कुछ और सुझाव दिए गए हैं:

  • pngquant (एक कमांड-लाइन टूल। स्वयं, मैंने पृष्ठ पर शामिल Windows GUI PNGoo का उपयोग किया है)
  • कलर क्वांटाइज़र (विभिन्न डाइथरिंग एल्गोरिदम आदि का उपयोग करने के लिए सेटिंग्स को ट्विक करने के लिए बहुत सारी संभावनाएँ)। मुझे कभी भी यह काम करने के लिए नहीं मिला, साथ ही पीएनजी / पींगक्वांट, लेकिन यह मेरे सीमित ज्ञान के कारण हो सकता है)।
  • TinyPNG.com (मुफ्त वेब सेवा में 20 फ़ाइलों की सीमा है, प्रत्येक 5MB से छोटी है)

0

मेरे पास कई बार यही मुद्दा था, और मैंने उन अधिकांश समय के लिए फ़ोटोशॉप स्थापित किया है। इसलिए मैंने दूसरे के कोड की कुछ प्रेरणाओं का उपयोग करके इस स्क्रिप्ट को एक साथ रखा।

https://gist.github.com/pixelbacon/7754cba64125b0240504

प्रयोग

  • फ़ोटोशॉप सीसी या नए संस्करण को स्थापित करें।
  • फ़ोटोशॉप में स्क्रिप्ट खोलें।
  • एक संवाद आपको एक स्रोत फ़ोल्डर चुनने के लिए कहेगा।
  • एक संवाद आपको एक गंतव्य फ़ोल्डर चुनने के लिए कहेगा।
  • एक अन्य संवाद आपसे अधिकतम चौड़ाई और ऊंचाई पूछेगा।
  • एक अन्य संवाद आपसे आदर्श चौड़ाई, फिर आदर्श ऊंचाई पूछेगा।
  • प्रतीक्षा करें जबकि स्क्रिप्ट आपके स्रोत फ़ोल्डर में मौजूद सभी PSD या AI फाइलों को खोल देगी और उन्हें पारदर्शी PNG-24 के रूप में सहेज देगी।
  • एक संवाद आपको बताएगा कि यह कब किया गया है।

संदर्भ

संदर्भ के लिए 2 से अधिक लिंक थे, मेरी वर्तमान प्रतिष्ठा मुझे किसी भी अधिक पोस्ट करने की अनुमति नहीं देती है। मूल स्क्रिप्ट देखें क्योंकि संदर्भ प्रलेखित हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.