The imagemagick’s magick (convert) program provides a great command line tool for editing images. Doing a simple bulk edition can be frustrating as there are many unuseful resources for this program. I made this page to keep examples of most useful commands I needed, found, and used. It is written in a way so that when read sequentially you should get a reasonable idea how to use this tool.

Throughout this post I will use a quite complex picture of a knight from AoE II ↗.

original picture

Each example lists the source pistures first and result pictures next for comparison.

Converting between formats

Converting is very simple. Note that the first argument is source and the last argument is the result.

convert knight.webp knight.png
convert knight.webp knight.bmp
convert knight.webp knight.jpg

original for comparison resulting knight.png resulting knight.bmp resulting knight.jpg

Resizing

Exact stretching Match one dimension and scale the picture Scale by the given percentage

convert knight.png -resize 120x80\! knight_wide.png
convert knight.png -resize x80 knight_small.png
convert knight.png -resize 40% knight_smaller.png

original for comparison wide small even smaller

Cropping

The coordinates for cropping are given as <width>x<height>+<x offset>+<y offset>.

convert knight.png -crop 120x60+0+20 knight_cropped.png
convert knight.jpg -fill none -stroke white -draw "rectangle 0,20 120,80" knight_crop_outline.png 

original for comparison cropped crop location

Mirroring (Flipping) and rotating

convert knight.png -flip knight_flip.png
convert knight.png -flop knight_flop.png
convert knight.png -rotate 90 knight_rotate_90.png
convert knight.png -background none -rotate 25 knight_rotate_25.png

original for comparison flip flop rotate 90 rotate 25

Distortion

Blur

Blur ↗ with <radius>x<sigma>, 0 radius is unlimited. Small radius restricts the blur to some radius; leads to artifacts.

convert knight.png -blur 0x1 knight_blur_0_1.png
convert knight.png -blur 0x10 knight_blur_0_10.png
convert knight.png -blur 2x10 knight_blur_2_10.png

original for comparison blur 0 1 blur 0 10 blur 2 10

Sharpen

convert knight_blur_0_1.png -sharpen 0x1 knight_sharpen_0_1.png
convert knight_blur_0_3.png -sharpen 0x3 knight_sharpen_0_3.png

blur 0 1 sharpen 0 1 sharpen 0 3

Recoloring

Note that the colors can be written in formats: blue, #0000ff.

Recolor black-white to green-gold

convert knight.png +level-colors green,gold knight_green_gold.png

original for comparison mapping to green and gold

Split/Swap/Combine color channels

Splitting via -separate creates a picture for each channel in the buffer. Hence, the following command generates three pictures named knight_channels-0.png, knight_channels-1.png, and knight_channels-2.png.

convert knight.png -channel RGB -separate knight_channels.png

original for comparison red green blue

Ramp up contrast

convert knight.png -contrast knight_contrast.png
convert knight.png -sigmoidal-contrast 10,50% knight_contrast_sig.png

original for comparison contrast sigmoidal contrast

Alpha

Create transparent background in a picture with monotone colored background

transparent ↗

convert knight.png -fuzz 7% -fill none -draw "matte 0,0 floodfill" knight_background_alpha.png

original for comparison background into alpha

Composition

todo

Useful resources