--- obj: application website: https://imagemagick.org repo: https://github.com/imagemagick/imagemagick --- # ImageMagick ImageMagick is a collection of command-line tools that can be used to modify and manipulate images. While many people are used to using graphical user interfaces (GUIs) like [Gimp](images/GIMP.md) or Photoshop to edit images individually, these tools may not always be practical. For instance, if you need to process an image dynamically from a web script or apply the same operations to multiple images, or if you need to repeat a specific operation on the same or different images at different times, using a command-line utility like ImageMagick may be more efficient. ## Usage ```shell magick tool [ {option} | {image} ... ] {output_image} magick convert [image] [option]... [output] ``` You can manipulate the image with a chain of options which get executed one by one resulting in a final output image. ### Options #### `-background color` This option sets a background color #### `-black-threshold value{%}` Force to black all pixels below the threshold while leaving all pixels at or above the threshold unchanged. The threshold value can be given as a percentage or as an absolute integer value. #### `-blend geometry` Blend an image into another by the given absolute value or percent. Blend will average the images together ('plus') according to the percentages given and each pixels transparency. If only a single percentage value is given it sets the weight of the composite or 'source' image, while the background image is weighted by the exact opposite amount. That is a `-blend 30%` merges 30% of the 'source' image with 70% of the 'destination' image. Thus it is equivalent to `-blend 30x70%`. #### `-blur radius` Convolve the image with a Gaussian or normal distribution using the given Sigma value. #### `-border geometry` Surround the image with a border of color. #### `-bordercolor color` Set the border color. #### `-borderwidth geometry` Set the border width. #### `-brightness-contrast brightness{xcontrast}{%}` Brightness and Contrast values apply changes to the input image. They are not absolute settings. A brightness or contrast value of zero means no change. The range of values is -100 to +100 on each. Positive values increase the brightness or contrast and negative values decrease the brightness or contrast. To control only contrast, set the brightness=0. To control only brightness, set contrast=0 or just leave it off. #### `-channel type` Specify those image color channels to which subsequent operators are limited. The channels above can also be specified as a comma-separated list or can be abbreviated as a concatenation of the letters 'R', 'G', 'B', 'A', 'O', 'C', 'M', 'Y', 'K'. #### `-chop geometry` Remove pixels from the interior of an image. #### `-colorize value` Colorize the image by an amount specified by value using the color specified by the most recent `-fill` setting. Specify the amount of colorization as a percentage. Separate colorization values can be applied to the red, green, and blue channels of the image with a comma-delimited list of colorization values (e.g., `-colorize 0,0,50`). #### `-composite` Take the first image 'destination' and overlay the second 'source' image. The location of the 'source' or 'overlay' image is controlled according to `-gravity`, and `-geometry` settings. #### `-contrast` Enhance or reduce the image contrast. #### `-copy geometry offset` Copy pixels from one area of an image to another. #### `-crop geometry{@}{!}` Cut out one or more rectangular regions of the image. #### `-draw string` Annotate an image with one or more graphic primitives. The shape primitives: - `point x,y` - `line x0,y0 x1,y1` - `rectangle x0,y0 x1,y1` - `roundRectangle x0,y0 x1,y1 wc,hc` - `arc x0,y0 x1,y1 a0,a1` - `ellipse x0,y0 rx,ry a0,a1` - `circle x0,y0 x1,y1` - `polyline x0,y0 ... xn,yn` - `polygon x0,y0 ... xn,yn` - `bezier x0,y0 ... xn,yn` - `image operator x0,y0 w,h filename` #### `-extract geometry` Extract the specified area from image. #### `-fill color` Color to use when filling a graphic primitive. #### `-flip` Create a mirror image reflect the scanlines in the vertical direction. The image will be mirrored upside-down. #### `-flop` Create a mirror image. Reflect the scanlines in the horizontal direction, just like the image in a vertical mirror. #### `-gaussian-blur radius` Blur the image with a Gaussian operator. #### `-geometry geometry` Set the preferred size and location of the image. #### `-gravity type` Sets the current gravity suggestion for various other settings and options. Choices include: `NorthWest`, `North`, `NorthEast`, `West`, `Center`, `East`, `SouthWest`, `South`, `SouthEast`. #### `-negate` Replace each pixel with its complementary color. #### `-region geometry` Set a region in which subsequent operations apply. #### `-resize geometry` Resize an image. #### `-size width[xheight][+offset]` Set the width and height of the image. #### `-sort-pixels` sorts pixels within each scanline in ascending order of intensity. #### `-stroke color` Color to use when stroking a graphic primitive. #### `-strokewidth value` Set the stroke width. ### Composite images ```shell magick composite -geometry +100+200 overlay.png input.jpg output.jpg ```