2011-08-13 12 views
10

मेरे पास एक कैमरा है जो 3008x2000 पिक्सल की तस्वीरें बनाता है। मैं अपनी वेबसाइट पर रखी जाने वाली तस्वीरों को स्केल और आकार देने के लिए छवि मैजिक का उपयोग करता हूं। वेबसाइट पर उपयोग की जा रही छवियों का आकार 602x400 है। मैं आकार को कम करने के लिए इस कमांड का उपयोग करता हूं:छवि मैजिक: वेबसाइटों के लिए छवि अनुकूलन

convert DSC_0124.JPG -scale 20% -size 24% img1.jpg 

यह एक छवि उत्पन्न करता है जो आकार में 602x400 पिक्सेल है। लेकिन फ़ाइल का आकार हमेशा 250 केबी से ऊपर होगा। एक HTML पृष्ठ पर अधिक छवियों का अर्थ है कि पृष्ठ भारी होगा और लोडिंग समय लंबा रहेगा। क्या छवि जादू में कोई विशेषताएं हैं जो फ़ाइल आकार को यथासंभव छोटा, संभवतः 100KB से नीचे रखने में मदद करेंगी। लेकिन छवि का आकार वही होना चाहिए, यानी, 602x400px। मैंने एमएस विंडोज के लिए SEAMonster उपकरण के साथ समान अनुकूलन हासिल किया है। चूंकि इसमें कमांडलाइन विकल्प नहीं है, इसलिए सैकड़ों छवियों को परिवर्तित करने के लिए यह बहुत मदद नहीं करेगा।

उत्तर

23

उपयोग आदेश, यह मेरा छवियों में से कुछ का आकार काफी कम है। यूनिक्स प्लेटफार्मों के लिए यहां एक बैश स्क्रिप्ट है, लेकिन आप केवल व्यक्तिगत छवियों के लिए दूसरे भाग का उपयोग कर सकते हैं।

for X in *.jpg; do convert "$X" -resize 602x400 -strip -quality 86 "$X"; done 

यह निर्देशिका में सभी छवियों को परिवर्तित करेगा।

+3

चेतावनी: 'convert' एक ही इनपुट और आउटपुट के साथ प्रयोग फ़ाइल नाम एक असुरक्षित ऑपरेशन हो सकता है। या तो एक अस्थायी फ़ाइल नाम और सशर्त रूप से 'एमवी' मूल को ओवरराइट करने के लिए लिखें, या केवल mogrify (ImageMagick सूट का हिस्सा) का उपयोग करें। 'Mogrify (1)' राज्यों के लिए मैन पेज "Mogrify मूल छवि फ़ाइल को ओवरराइट करता है, जबकि, कनवर्ट (1) एक अलग छवि फ़ाइल में लिखता है।" –

6

उपयोग -quality संपीड़न स्तर सेट करने के रूप Delan अतिरिक्त "-strip" ध्वज के साथ प्रस्तावित EXIF ​​डेटा को हटाने के लिए

convert DSC_0124.JPG -scale 20% -size 24% -quality [0..100] img1.jpg 
2

यदि आप PHP पर अपनी वेबसाइट चला रहे हैं, तो आप एसएलआईआर छवि आकार बदलने वाली स्क्रिप्ट पर विचार करना चाहेंगे, यह विभिन्न बाधाओं (नीचे देखें) का आकार बदलने और परिणामों को कैश करने का एक अच्छा काम करता है।

Parameters: 
w Maximum width 
h Maximum height 
c Crop ratio 
q Quality 
b Background fill color 
p Progressive 

http://shiftingpixel.com/2008/03/03/smart-image-resizer/

http://code.google.com/p/smart-lencioni-image-resizer/

+0

मैं अजगर-डीजेंगो का उपयोग कर रहा हूं। – nixnotwin

3

आप इस तरह 100KB पर उत्पादन छवि का अधिकतम आकार को परिभाषित कर सकते हैं:

convert DSC_0124.JPG -resize 602x400! -strip -define jpeg:extent=100KB img1.jpg 
+2

सावधान रहें, "!" आकार बदलने के लिए ध्वज पहलू अनुपात को अनदेखा करता है और '!' एक विशेष खोल चरित्र हो सकता है, जिसे आम तौर पर भागने की आवश्यकता होती है। –

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