2016-11-07 13 views
7

मैं .jpg छवियों के समूह का आकार बदलने के लिए बैच स्क्रिप्ट लिखने में कुछ मदद ढूंढ रहा हूं।छवियों का आकार बदलने के लिए एक बैच स्क्रिप्ट

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

मैं हमेशा वैकल्पिक विचारों को सुनने में रुचि रखता हूं & दृष्टिकोण, या उन तत्वों के बारे में जागरूक होने के बारे में जिन्हें मैंने नहीं सोचा है।

नीचे मैं बुनियादी कदम/लिपि की जरूरतों को सूचीबद्ध किया है:

1) The images are located in a folder & are all(or should be) 500 x 
500. 

2) I need copy & past the images to a new folder, where they will be 
resized to 250 x 250. 

3) I then need to repeat step 2 but this time resize to 125 x 125. 
+1

उपयोगी हो सकता है http://askubuntu.com/questions/135477/how-can-i-scale-all-images-in-a-folder-to-the-same-width –

उत्तर

6

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

मैं ImageMagick की अनुशंसा करता हूं।

पोर्टेबल विंडोज बाइनरी प्राप्त करें, तो आप जो कुछ भी आसानी से चाहते हैं उसे करने के लिए आप magick.exe का उपयोग कर सकते हैं। उदाहरण के लिए, फ़ोल्डर से 2 (आधे से) फ़ोल्डर 1 में सभी PNG छवियों का आकार बदलने के:

@echo off 
if not exist 2 md 2 
for %%a in (1\*.png) do "path\to\magick.exe" -resize 50x50% "1\%~nxa" "2\%~nxa" 
+1

चूंकि यह उत्तर पोस्ट किया गया था, ImageMagick का exe अब 'magick.exe' को 'convert.exe' नहीं कहा जाता है। –

+0

मैजिक – soja

+0

में कनवर्ट किया गया है क्योंकि आप ImageMagick का उपयोग करते हैं, तो सही आकार बदलने की प्रक्रिया का उपयोग करना बुद्धिमान हो सकता है ... https://www.imagemagick.org/Usage/resize/#resize_colorspace जिसका अर्थ है: %% के लिए (1 \ *। पीएनजी) "पथ \ to \ magick.exe" 1 \% ~ nxa "-colorspace आरजीबी - 50x50% -colorspace sRGB" 2 \% ~ nxa " – FarO

6

एक बार जब आप ImageMagick for Windows स्थापित करते हैं, तो आप उपयोग कर सकते हैं magick command-line tool, उदा

magick.exe mogrify -resize 250x250 -path 250x250/ *.png *.jpg 
magick.exe mogrify -resize 125x125 -path 125x125/ *.png *.jpg 

नोट: सुनिश्चित करें कि आपके magick.exe आदेश अपने PATH प्रणाली चर में है और आप मौजूदा या बनाया किस्मत फ़ोल्डरों (जैसे उपरोक्त मामले में mkdir 250x250/ 125x125/) की ओर इशारा करते रहे हैं।

लिनक्स/Ubuntu के लिए, देखें: How to easily resize images via command-line?

+2

बस यह सुनिश्चित करें कि फ़ोल्डर चलाने से पहले फ़ोल्डर मौजूद है। – Jeff

+0

इसे चलाने से पहले, 'mkdir 250x250' और' mkdir 125x125' –

3

आप जाँच कर सकते हैं scale.bat अतिरिक्त सॉफ़्टवेयर स्थापित करने की आवश्यकता के बिना छवियों का आकार कर सकते हैं जो - यह केवल खिड़कियों में निर्मित क्षमताओं का उपयोग करता:

@echo off 
set "source_folder=c:\images" 
set "result_folder_1=c:\res1" 
set "result_folder_2=c:\res2" 

for %%a in ("%source_folder%\*jpg") do (
    call scale.bat -source "%%~fa" -target "%result_folder_1%\%%~nxa" -max-height 250 -max-width 250 -keep-ratio no -force yes 
) 

for %%a in ("%source_folder%\*jpg") do (
    call scale.bat -source "%%~fa" -target "%result_folder_2%\%%~nxa" -max-height 125 -max-width 125 -keep-ratio no -force yes 
) 

चेक this भी।

+2

चलाएं मुझे यह समाधान सबसे अच्छा लगता है।यह सरल है, जो पहले से ही सिस्टम पर है, का उपयोग करता है और कुछ और करने के लिए सिस्टम के साथ इंटरफेस करने के तरीके पर अच्छा उदाहरण भी प्रदान करता है। बहुत बढ़िया! – Tiris

संबंधित मुद्दे