जवाबों:
इसके तहत आधिकारिक ImageMagick प्रलेखन में समझाया गया है, "फिट करने के लिए थंबनेल काटें" :
एक विकल्प, विशिष्ट छवि के आकार को फिट करने के लिए छवि को पैड करने के बजाय है, इसके बजाय छवि के उन हिस्सों को काट देना है जो अंतिम आकार में फिट नहीं होते हैं।
बेशक इसका मतलब यह है कि आप वास्तव में मूल छवि के कुछ हिस्सों को खो देते हैं, विशेष रूप से छवि के किनारों को, लेकिन परिणाम छवि के केंद्र भाग का एक बढ़ा हुआ थंबनेल है। यह आमतौर पर (लेकिन हमेशा नहीं) छवि का मुख्य विषय है, इसलिए यह थंबनेल निर्माण का एक व्यावहारिक तरीका है।
IM v6.3.8-3 के रूप में विशेष आकार विकल्प ध्वज '^' को आसान बनाने के लिए जोड़ा गया था। हम इस ध्वज का उपयोग करना चाहते हैं, फिर छवि के उन हिस्सों को काट लें जो वांछित आकार को ओवरफ्लो करते हैं।
और एक उदाहरण कमांड के संदर्भ में:
convert -define jpeg:size=200x200 hatching_orig.jpg -thumbnail 100x100^ \
-gravity center -extent 100x100 cut_to_fit.gif
इग्नासियो सही दस्तावेज से जुड़ा हुआ है, हालांकि मैं इसे सुविधा के लिए इनलाइन पर चिपकाऊंगा:
convert -define jpeg:size=200x200 original.jpeg -thumbnail 100x100^ -gravity center -extent 100x100 thumbnail.jpeg
इसी तरह, GraphicsMagick के लिए निम्नलिखित है:
gm convert -size 200x200 original.jpeg -thumbnail 100x100^ -gravity center -extent 100x100 +profile "*" thumbnail.jpeg
स्पष्टीकरण:
-size 200x200
jpeg डिकोडर को बताता है कि हमें केवल इस रिज़ॉल्यूशन की आवश्यकता है ताकि यह मेमोरी को बचा सके और सोर्स इमेज को तेजी से पढ़ सके-thumbnail 100x100^
तेजी से आकार कम से कम 100 पक्ष बना- gravity center
अगला ऑपरेशन केंद्र-extent 100x100
छवि को 100x100 कैनवास पर लागू करें+profile "*"
किसी भी मेटेनोफ़ को jpeg में न सहेजें (परिणामी छवि को छोटा बनाते हुए)यह करने के लिए एक सरल तरीका है:
निम्न आदेश 100 पिक्सेल के छोटे पक्ष का आकार और 100x100 वर्ग में काटता है। आप -strip
फ़ाइल का आकार कम करने के लिए एक कमांड जोड़ सकते हैं ।
convert original.jpg -resize "100^>" -gravity center \
-crop 100x100+0+0 -strip thumbnail.jpg
दूसरों के विपरीत, यह स्मृति को बचाने की कोशिश नहीं कर रहा है। इसके बजाय, यह वही करता है जो आप चाहते हैं, और अधिक नहीं। इसके अलावा, यह छवियों को अपस्केल नहीं करेगा।
मैं सटीक आकार के थंबनेल बनाने के लिए ग्राफिक्समैगिक का उपयोग कर रहा हूं, लेकिन मैं ओवरहैंग को क्रॉप करने के बजाय एक चेकबोर्ड के साथ छवि को पैडिंग कर रहा हूं।
gm convert -limit Threads 1 -size 320x180 pattern:checkerboard -background transparent -gravity center -resize 320x180 -extent 320x180 original.jpg -flatten -resize 112x65! -interlace Line 1 thumb_112x65.jpg
gm convert
// Single threaded seems faster on smaller files
-limit Threads 1
// Generate a checkerboard of size 320x180.
// Sets the relative size of the checkerboard squares,
// also sets the desired aspect ratio. In my case (16:9)
-size 320x180 pattern:checkerboard
// Resize the input image and center it on a transparent layer.
-background transparent -gravity center -resize 320x180 -extent 320x180 orig.jpg
// Merge the layers
-flatten
// Resize the output to the desired
// The ! causes the aspect ratio to be ignored, fixing any rounding errors.
// (Specify a size with the same aspect ratio as the checkerboard.)
-resize 112x65!
// Use Progressive JPEG Encoding
-interlace Line
// Output Image
thumb_112x65.jpg
मुझे लगता है कि आप कुछ इस तरह की तलाश कर रहे हैं:
convert -crop 100x100+50+50 input_image.jpg output_image.jpg
जहां 100x100
है आकार अंतिम आयत और की ऑफसेट ।50x50
convert -thumbnail 100x100+50+50 input_image.jpg output_image.jpg
, अधिक जानकारी के लिए एक उदाहरण के लिए Igancio Vazquez प्रतिक्रिया की जाँच करें या दस्तावेज़ की
यह एक वर्ग के लिए फसल और फिर 150x150 का आकार
convert 824-full.jpg -set option:size '%[fx:min(w,h)]x%[fx:min(w,h)]' xc:none +swap -gravity center -composite -resize 150x150 temp.jpg
अधिक विकल्प यहां उपलब्ध हैं: http://www.imagemagick.org/Usage/thumbnails/#square