.TH magick 1 "Date: 2009/01/10 01:00:00" "ImageMagick"
.SH NAME
magick-script \- scripting language that converts between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.
.SH SYNOPSIS
.TP
\fBmagick-script\fP [\fIinput-options\fP] \fIinput-file\fP [\fIoutput-options\fP] \fIoutput-file\fP
.SH OVERVIEW
The \fBmagick-script\fP program is a member of the ImageMagick(1) suite of tools.  Use it to convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.  Here is an example script:

    #!/bin/env magick-script
    -size 100x100 xc:red ( rose: -rotate -90 ) +append  -write show:

For more information about the magick-script command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/magick-script.html or http://imagemagick.org/script/magick-script.php.
.SH DESCRIPTION
Image Settings:
  \-adjoin              join images into a single multi-image file
  \-affine matrix       affine transform matrix
  \-antialias           remove pixel-aliasing
  \-authenticate value  decrypt image with this password
  \-background color    background color
  \-bias value          add bias when convolving an image
  \-black-point-compensation
                       use black point compensation
  \-blue-primary point  chromaticity blue primary point
  \-bordercolor color   border color
  \-caption string      assign a caption to an image
  \-cdl filename        color correct with a color decision list
  \-colors value        preferred number of colors in the image
  \-colorspace type     alternate image colorspace
  \-comment string      annotate image with comment
  \-compose operator    set image composite operator
  \-compress type       type of pixel compression when writing the image
  \-decipher filename   magick cipher pixels to plain pixels
  \-define format:option
                       define one or more image format options
  \-delay value         display the next image after pausing
  \-density geometry    horizontal and vertical density of the image
  \-depth value         image depth
  \-direction type      render text right-to-left or left-to-right
  \-display server      get image or font from this X server
  \-dispose method      layer disposal method
  \-dither method       apply error diffusion to image
  \-encipher filename   magick plain pixels to cipher pixels
  \-encoding type       text encoding type
  \-endian type         endianness (MSB or LSB) of the image
  \-family name         render text with this font family
  \-fill color          color to use when filling a graphic primitive
  \-filter type         use this filter when resizing an image
  \-flatten             flatten a sequence of images
  \-font name           render text with this font
  \-format "string"     output formatted image characteristics
  \-fuzz distance       colors within this distance are considered equal
  \-gravity type        horizontal and vertical text placement
  \-green-primary point chromaticity green primary point
  \-intent type         type of rendering intent when managing the image color
  \-interlace type      type of image interlacing scheme
  \-interpolate method  pixel color interpolation method
  \-kerning value       set the space between two letters
  \-label string        assign a label to an image
  \-limit type value    pixel cache resource limit
  \-loop iterations     add Netscape loop extension to your GIF animation
  \-mask filename       associate a mask with the image
  \-matte               store matte channel if the image has one
  \-mattecolor color    frame color
  \-monitor             monitor progress
  \-orient type         image orientation
  \-origin geometry     image origin
  \-page geometry       size and location of an image canvas (setting)
  \-ping                efficiently determine image attributes
  \-pointsize value     font point size
  \-preview type        image preview type
  \-quality value       JPEG/MIFF/PNG compression level
  \-quiet               suppress all warning messages
  \-red-primary point   chromaticity red primary point
  \-regard-warnings     pay attention to warning messages
  \-repage geometry     size and location of an image canvas
  \-sampling-factor geometry
                       horizontal and vertical sampling factor
  \-scene value         image scene number
  \-seed value          seed a new sequence of pseudo-random numbers
  \-size geometry       width and height of image
  \-statistic type geometry
                       replace each pixel with corresponding statistic from the neighborhood
  \-stretch type        render text with this font stretch
  \-stroke color        graphic primitive stroke color
  \-strokewidth value   graphic primitive stroke width
  \-style type          render text with this font style
  \-support factor      resize support: > 1.0 is blurry, < 1.0 is sharp
  \-synchronize         synchronize image to storage device
  \-taint               declare the image as modified
  \-texture filename    name of texture to tile onto the image background
  \-tile-offset geometry
                       tile offset
  \-treedepth value     color tree depth
  \-transparent-color color
                       transparent color
  \-undercolor color    annotation bounding box color
  \-units type          the units of image resolution
  \-verbose             print detailed information about the image
  \-view                FlashPix viewing transforms
  \-virtual-pixel method
                       virtual pixel access method
  \-weight type         render text with this font weight
  \-white-point point   chromaticity white point

Image Operators:
  \-adaptive-blur geometry
                       adaptively blur pixels; decrease effect near edges
  \-adaptive-resize geometry
                       adaptively resize image with data dependent triangulation
  \-adaptive-sharpen geometry
                       adaptively sharpen pixels; increase effect near edges
  \-annotate geometry text
                       annotate the image with text
  \-auto-orient         automatically orient image
  \-black-threshold value
                       force all pixels below the threshold into black
  \-blur geometry       reduce image noise and reduce detail levels
  \-border geometry     surround image with a border of color
  \-channel mask        set the image channel mask
  \-charcoal radius     simulate a charcoal drawing
  \-chop geometry       remove pixels from the image interior
  \-clip                clip along the first path from the 8BIM profile
  \-clip-mask filename  associate a clip mask with the image
  \-clip-path id        clip along a named path from the 8BIM profile
  \-colorize value      colorize the image with the fill color
  \-color-matrix matrix apply color correction to the image
  \-contrast            enhance or reduce the image contrast
  \-contrast-stretch geometry
                       improve contrast by `stretching' the intensity range
  \-convolve coefficients
                       apply a convolution kernel to the image
  \-cycle amount        cycle the image colormap
  \-despeckle           reduce the speckles within an image
  \-draw string         annotate the image with a graphic primitive
  \-edge radius         apply a filter to detect edges in the image
  \-emboss radius       emboss an image
  \-enhance             apply a digital filter to enhance a noisy image
  \-equalize            perform histogram equalization to an image
  \-evaluate operator value
                       evaluate an arithmetic, relational, or logical expression
  \-extent geometry     set the image size
  \-extract geometry    extract area from image
  \-fft                 implements the discrete Fourier transform (DFT)
  \-flip                flip image vertically
  \-floodfill geometry color
                       floodfill the image with color
  \-flop                flop image horizontally
  \-frame geometry      surround image with an ornamental border
  \-function name       apply a function to the image
  \-gamma value         level of gamma correction
  \-gaussian-blur geometry
                       reduce image noise and reduce detail levels
  \-geometry geometry   preferred size or location of the image
  \-identify            identify the format and characteristics of the image
  \-ift                 implements the inverse discrete Fourier transform (DFT)
  \-implode amount      implode image pixels about the center
  \-lat geometry        local adaptive thresholding
  \-layers method       optimize or compare image layers
  \-level value         adjust the level of image contrast
  \-linear-stretch geometry
                       improve contrast by `stretching with saturation' the intensity range
  \-median geometry     apply a median filter to the image
  \-mode geometry       make each pixel the 'predominant color' of the neighborhood
  \-modulate value      vary the brightness, saturation, and hue
  \-monochrome          transform image to black and white
  \-morphology method kernel
                       apply a morphology method to the image
  \-motion-blur geometry
                       simulate motion blur
  \-negate              replace each pixel with its complementary color 
  \-noise geometry      add or reduce noise in an image
  \-normalize           transform image to span the full range of colors
  \-opaque color        change this color to the fill color
  \-ordered-dither NxN
                       add a noise pattern to the image with specific amplitudes
  \-paint radius        simulate an oil painting
  \-polaroid angle      simulate a Polaroid picture
  \-posterize levels    reduce the image to a limited number of color levels
  \-print string        interpret string and print to console
  \-profile filename    add, delete, or apply an image profile
  \-quantize colorspace reduce colors in this colorspace
  \-radial-blur angle   radial blur the image
  \-raise value         lighten/darken image edges to create a 3-D effect
  \-random-threshold low,high
                       random threshold the image
  \-range-threshold values
                       perform either hard or soft thresholding within some range of values in an image
  \-region geometry     apply options to a portion of the image
  \-render              render vector graphics
  \-resample geometry   change the resolution of an image
  \-resize geometry     resize the image
  \-roll geometry       roll an image vertically or horizontally
  \-rotate degrees      apply Paeth rotation to the image
  \-sample geometry     scale image with pixel sampling
  \-scale geometry      scale the image
  \-segment values      segment an image
  \-selective-blur geometry
                       selectively blur pixels within a contrast threshold
  \-sepia-tone threshold
                       simulate a sepia-toned photo
  \-set property value  set an image property
  \-shade degrees       shade the image using a distant light source
  \-shadow geometry     simulate an image shadow
  \-sharpen geometry    sharpen the image
  \-shave geometry      shave pixels from the image edges
  \-shear geometry      slide one edge of the image along the X or Y axis
  \-sigmoidal-contrast geometry
                       lightness rescaling using sigmoidal contrast enhancement
  \-sketch geometry     simulate a pencil sketch
  \-solarize threshold  negate all pixels above the threshold level
  \-splice geometry     splice the background color into the image
  \-spread amount       displace image pixels by a random amount
  \-strip               strip image of all profiles and comments
  \-swirl degrees       swirl image pixels about the center
  \-threshold value     threshold the image
  \-thumbnail geometry  create a thumbnail of the image
  \-tile filename       tile image when filling a graphic primitive
  \-tint value          tint the image with the fill color
  \-transform           affine transform image
  \-transparent color   make this color transparent within the image
  \-transpose           flip image vertically and rotate 90 degrees
  \-transverse          flop image horizontally and rotate 270 degrees
  \-trim                trim image edges
  \-type type           image type
  \-unique-colors       discard all but one of any pixel color
  \-unsharp geometry    sharpen the image
  \-vignette geometry   soften the edges of the image in vignette style
  \-wave geometry       alter an image along a sine wave
  \-white-threshold value
                       force all pixels above the threshold into white


Image Channel Operators:
  \-channel-extract channel-list
                        extract the channels in order
  \-channel-inject channel-list
                        inject the channels in order
  \-channel-swap channel,channel
                        swap the channels

Image Sequence Operators:
  \-affinity filename   transform image colors to match this set of colors
  \-append              append an image sequence top to bottom (use +append for left to right)
  \-clut                apply a color lookup table to the image
  \-coalesce            merge a sequence of images
  \-combine             combine a sequence of images
  \-composite           composite image
  \-crop geometry       cut out a rectangular region of the image
  \-deconstruct         break down an image sequence into constituent parts
  \-evaluate-sequence operator
                       evaluate an arithmetic, relational, or logical expression
  \-flatten             flatten a sequence of images
  \-fx expression       apply mathematical expression to an image channel(s)
  \-hald-clut           apply a Hald color lookup table to the image
  \-morph value         morph an image sequence
  \-mosaic              create a mosaic from an image sequence
  \-process arguments   process the image with a custom image filter
  \-separate            separate an image channel into a grayscale image
  \-smush geometry      smush an image sequence together
  \-write filename      write images to this file

Image Stack Operators:
  \-clone indexes       clone an image
  \-delete indexes      delete the image from the image sequence
  \-duplicate count,indexes
                       duplicate an image one or more times
  \-insert index        insert last image into the image sequence
  \-swap indexes        swap two images in the image sequence

Miscellaneous Options:
  \-debug events        display copious debugging information
  \-help                print program options
  \-log format          format of debugging information
  \-list type           print a list of supported option arguments
  \-version             print version information

Use any setting or operator as an \fIoutput-option\fP.  Only a limited number of setting are  \fIinput-option\fP. They include: \-antialias, \-caption, \-density, \-define, \-encoding, \-font, \-pointsize, \-size, and \-texture as well as any of the miscellaneous options.

By default, the image format of `file' is determined by its magic number.  To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps).  Specify 'file' as '-' for standard input or output.
.SH SEE ALSO
ImageMagick(1)

.SH COPYRIGHT
\fBCopyright (C) 1999-2019 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://imagemagick.org/script/license.php\fP
