Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How to create square/cropped thumbnail using ImageMagick ? Cropping like below.

cropping

share|improve this question

6 Answers 6

up vote 5 down vote accepted

"Cut the Thumbnail to Fit"

share|improve this answer
5  
Possibly... some type of description? –  Hello71 Apr 27 '11 at 2:22

Ignacio linked to the correct documentation, however I'll paste it inline here for convenience:

convert -define jpeg:size=200x200 original.jpeg -thumbnail 100x100^ -gravity center -extent 100x100 thumbnail.jpeg

Similarly, the following is for GraphicsMagick:

gm convert -size 200x200 original.jpeg -thumbnail 100x100^ -gravity center -extent 100x100 +profile "*" thumbnail.jpeg

Explanation:

  • -size 200x200 tells the jpeg decoder we only need this resolution so it can save memory and read the source image faster
  • -thumbnail 100x100^ fast resize making the shortest side 100
  • - gravity center center the next operation
  • -extent 100x100 apply the image to a 100x100 canvas
  • +profile "*" do not save any metainfo to the jpeg (making the resulting image smaller)
share|improve this answer
3  
When I used it in command line (graphics magick one) I got picture on center, two siders are filled with white. Not the one described in question. Am I doing something wrong? –  Umut Benzer Jan 24 '12 at 10:25
2  
If you are using windows you must double the ^ character to escape it. Eg: -thumbnail 100x100^^ –  geo1701 Jul 23 '13 at 8:39
    
Why not size 100x100 ? –  Hello World Oct 19 at 10:42

I'm using graphicsmagick to generate precisely sized thumbnails but I'm padding the image with a checkerboard instead of cropping the overhang.

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

Options explained.

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
share|improve this answer

I think you are looking for something like:

convert -crop 100x100+50+50 input_image.jpg output_image.jpg 

where 100x100 is the size of the final rectangle and 50x50 the offset.

share|improve this answer
    
That crop image, but doesn't make thumbnail. –  marioosh Apr 26 '11 at 11:11
1  
@marioosh: I didn't understood, you can use convert -thumbnail 100x100+50+50 input_image.jpg output_image.jpg, for more info check Igancio Vazquez response for an example or check the documentation –  pconcepcion Apr 26 '11 at 11:15

That is a simple way to do it: The following command resize the smaller side to 100 pixels and crop a 100x100 square. You can add a -strip command to reduce file size.

convert -resize "100^>" original.jpg -gravity center -crop 100x100+0+0 thumbnail.jpg
share|improve this answer
    
When adding a late answer to a question with established answers it is helpful to provide enough explanation why your answer offers something unique and new compared to the other answers. –  Jason Aller May 31 at 5:49

This command crop to a square and then resize to 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

More options are availble here: http://www.imagemagick.org/Usage/thumbnails/#square

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.