.TH gm 1 "2022/03/11" "GraphicsMagick" .TP .in 15 .in 15 .in 20 .SH NAME gm - command-line utility to create, edit, compare, convert, or display images .SH SYNOPSIS \fBgm animate\fP \fB[\fP \fIoptions ...\fP \fB]\fP \fIfile\fP \fB[ [\fP \fIoptions ...\fP \fB]\fP \fIfile ...\fP \fB]\fP \fBgm batch\fP \fB[\fP \fIoptions ...\fP \fB]\fP \fB[\fP \fIscript\fP \fB]\fP \fBgm benchmark\fP \fB[\fP \fIoptions ...\fP \fB]\fP subcommand \fBgm compare\fP \fB[\fP \fIoptions\fP \fB... ]\fP \fIreference-image\fP \fB[\fP \fIoptions\fP \fB... ]\fP \fIcompare-image\fP \fB[\fP \fIoptions\fP \fB... ]\fP \fBgm composite\fP \fB[\fP \fIoptions ...\fP \fB]\fP \fIchange-image base-image\fP \fB[\fP \fImask-image\fP \fB]\fP \fIoutput-image\fP \fBgm conjure\fP \fB[\fP \fIoptions\fP \fB]\fP \fIscript.msl\fP \fB[ [\fP \fIoptions\fP \fB]\fP \fIscript.msl\fP \fB]\fP \fBgm convert\fP \fB[ [\fP \fIoptions ...\fP \fB] [\fP \fIinput-file ...\fP \fB] [\fP \fIoptions ...\fP \fB] ]\fP \fIoutput-file\fP \fBgm display\fP \fB[\fP \fIoptions ...\fP \fB]\fP \fIfile ...\fP \fB[ [\fP\fIoptions ...\fP \fB]\fP\fIfile ...\fP \fB]\fP \fBgm identify\fP \fIfile\fP \fB[\fP \fIfile ...\fP \fB]\fP \fBgm import\fP \fB[\fP \fIoptions ...\fP \fB]\fP \fIfile\fP \fBgm mogrify\fP \fB[\fP \fIoptions ...\fP \fB]\fP \fIfile ...\fP \fBgm montage\fP \fB[\fP \fIoptions ...\fP \fB]\fP \fIfile\fP \fB[ [\fP \fIoptions ...\fP \fB]\fP \fIfile ...\fP \fB]\fP \fIoutput-file\fP \fBgm time\fP subcommand \fBgm version\fP .SH DESCRIPTION GraphicsMagick's \fBgm\fP provides a suite of utilities for creating, comparing, converting, editing, and displaying images. All of the utilities are provided as sub-commands of a single \fBgm\fP executable. The \fBgm\fP executable returns the exit code 0 to indicate success, or 1 to indicate failure: \fBanimate\fP displays an animation (e.g. a GIF file) on any workstation display running an \fIX\fP server. \fBbatch\fP executes an arbitary number of the utility commands (e.g. \fBconvert\fP) in the form of a simple linear batch script in order to improve execution efficiency, and/or to allow use as a subordinate co-process under the control of an arbitrary script or program. \fBbenchmark\fP executes one of the other utility commands (e.g. \fBconvert\fP) for a specified number of iterations, or execution time, and reports execution time and other profiling information such as CPU utilization. \fBBenchmark\fP provides various operating modes including executing the command with a varying number of threads, and alternate reporting formats such as comma-separated value (CSV). \fBcompare\fP compares two images and reports difference statistics according to specified metrics and/or outputs an image with a visual representation of the differences. It may also be used to test if images are similar within a particular range and specified metric, returning a truth value to the executing environment. \fBcomposite\fP composites images (blends or merges images together) to create new images. \fBconjure\fP interprets and executes scripts in the Magick Scripting Language (MSL). \fBconvert\fP converts an input file using one image format to an output file with the same or differing image format while applying an arbitrary number of image transformations. \fBdisplay\fP is a machine architecture independent image processing and display facility. It can display an image on any workstation display running an \fIX\fP server. \fBidentify\fP describes the format and characteristics of one or more image files. It will also report if an image is incomplete or corrupt. \fBimport\fP reads an image from any visible window on an \fIX\fP server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen. \fBmogrify\fP transforms an image or a sequence of images. These transforms include \fBimage scaling\fP, \fBimage rotation\fP, \fBcolor reduction\fP, and others. The transmogrified image \fBoverwrites\fP the original image. \fBmontage\fP creates a composite by combining several separate images. The images are tiled on the composite image with the name of the image optionally appearing just below the individual tile. \fBtime\fP executes a subcommand and reports the user, system, and total execution time consumed. \fBversion\fP reports the GraphicsMagick release version, maximum sample-depth, copyright notice, supported features, and the options used while building the software. The \fBGraphicsMagick\fP utilities recognize the following image formats: \fBName\fP \fBMode\fP \fBDescription\fP o 3FR r-- Hasselblad Photo RAW o 8BIM rw- Photoshop resource format o 8BIMTEXT rw- Photoshop resource text format o 8BIMWTEXT rw- Photoshop resource wide text format o APP1 rw- Raw application information o APP1JPEG rw- Raw JPEG binary data o ART r-- PF1: 1st Publisher o ARW r-- Sony Alpha DSLR RAW o AVS rw+ AVS X image o BIE rw- Joint Bi-level Image experts Group interchange format o BMP rw+ Microsoft Windows bitmap image o BMP2 -w- Microsoft Windows bitmap image v2 o BMP3 -w- Microsoft Windows bitmap image v3 o CACHE --- Magick Persistent Cache image format o CALS rw- Continuous Acquisition and Life-cycle Support Type 1 image o CAPTION r-- Caption (requires separate size info) o CIN rw- Kodak Cineon Format o CMYK rw- Raw cyan, magenta, yellow, and black samples (8 or 16 bits, depending on the image depth) o CMYKA rw- Raw cyan, magenta, yellow, black, and matte samples (8 or 16 bits, depending on the image depth) o CR2 r-- Canon Photo RAW o CRW r-- Canon Photo RAW o CUR r-- Microsoft Cursor Icon o CUT r-- DR Halo o DCM r-- Digital Imaging and Communications in Medicine image o DCR r-- Kodak Photo RAW o DCX rw+ ZSoft IBM PC multi-page Paintbrush o DNG r-- Adobe Digital Negative o DPS r-- Display PostScript Interpreter o DPX rw- Digital Moving Picture Exchange o EPDF rw- Encapsulated Portable Document Format o EPI rw- Adobe Encapsulated PostScript Interchange format o EPS rw- Adobe Encapsulated PostScript o EPS2 -w- Adobe Level II Encapsulated PostScript o EPS3 -w- Adobe Level III Encapsulated PostScript o EPSF rw- Adobe Encapsulated PostScript o EPSI rw- Adobe Encapsulated PostScript Interchange format o EPT rw- Adobe Encapsulated PostScript with MS-DOS TIFF preview o EPT2 rw- Adobe Level II Encapsulated PostScript with MS-DOS TIFF preview o EPT3 rw- Adobe Level III Encapsulated PostScript with MS-DOS TIFF preview o EXIF rw- Exif digital camera binary data o FAX rw+ Group 3 FAX (Not TIFF Group3 FAX!) o FITS rw- Flexible Image Transport System o FRACTAL r-- Plasma fractal image o FPX rw- FlashPix Format o GIF rw+ CompuServe graphics interchange format o GIF87 rw- CompuServe graphics interchange format (version 87a) o GRADIENT r-- Gradual passing from one shade to another o GRAY rw+ Raw gray samples (8/16/32 bits, depending on the image depth) o HISTOGRAM -w- Histogram of the image o HRZ r-- HRZ: Slow scan TV o HTML -w- Hypertext Markup Language and a client-side image map o ICB rw+ Truevision Targa image o ICC rw- ICC Color Profile o ICM rw- ICC Color Profile o ICO r-- Microsoft icon o ICON r-- Microsoft icon o IDENTITY r-- Hald CLUT identity image o IMAGE r-- GraphicsMagick Embedded Image o INFO -w+ Image descriptive information and statistics o IPTC rw- IPTC Newsphoto o IPTCTEXT rw- IPTC Newsphoto text format o IPTCWTEXT rw- IPTC Newsphoto wide text format o JBG rw+ Joint Bi-level Image experts Group interchange format o JBIG rw+ Joint Bi-level Image experts Group interchange format o JNG rw- JPEG Network Graphics o JP2 rw- JPEG-2000 JP2 File Format Syntax o JPC rw- JPEG-2000 Code Stream Syntax o JPEG rw- Joint Photographic Experts Group JFIF format o JPG rw- Joint Photographic Experts Group JFIF format o K25 r-- Kodak Photo RAW o KDC r-- Kodak Photo RAW o LABEL r-- Text image format o M2V rw+ MPEG-2 Video Stream o MAP rw- Colormap intensities and indices o MAT r-- MATLAB image format o MATTE -w+ MATTE format o MIFF rw+ Magick Image File Format o MNG rw+ Multiple-image Network Graphics o MONO rw- Bi-level bitmap in least-significant- -byte-first order o MPC rw+ Magick Persistent Cache image format o MPEG rw+ MPEG-1 Video Stream o MPG rw+ MPEG-1 Video Stream o MRW r-- Minolta Photo Raw o MSL r-- Magick Scripting Language o MTV rw+ MTV Raytracing image format o MVG rw- Magick Vector Graphics o NEF r-- Nikon Electronic Format o NULL r-- Constant image of uniform color o OTB rw- On-the-air bitmap o P7 rw+ Xv thumbnail format o PAL rw- 16bit/pixel interleaved YUV o PALM rw- Palm Pixmap o PBM rw+ Portable bitmap format (black and white) o PCD rw- Photo CD o PCDS rw- Photo CD o PCL -w- Page Control Language o PCT rw- Apple Macintosh QuickDraw/PICT o PCX rw- ZSoft IBM PC Paintbrush o PDB rw+ Palm Database ImageViewer Format o PDF rw+ Portable Document Format o PEF r-- Pentax Electronic File o PFA r-- TrueType font o PFB r-- TrueType font o PGM rw+ Portable graymap format (gray scale) o PGX r-- JPEG-2000 VM Format o PICON rw- Personal Icon o PICT rw- Apple Macintosh QuickDraw/PICT o PIX r-- Alias/Wavefront RLE image format o PLASMA r-- Plasma fractal image o PNG rw- Portable Network Graphics o PNG24 rw- Portable Network Graphics, 24 bit RGB opaque only o PNG32 rw- Portable Network Graphics, 32 bit RGBA semitransparency OK o PNG8 rw- Portable Network Graphics, 8-bit indexed, binary transparency only o PNM rw+ Portable anymap o PPM rw+ Portable pixmap format (color) o PREVIEW -w- Show a preview an image enhancement, effect, or f/x o PS rw+ Adobe PostScript o PS2 -w+ Adobe Level II PostScript o PS3 -w+ Adobe Level III PostScript o PSD rw- Adobe Photoshop bitmap o PTIF rw- Pyramid encoded TIFF o PWP r-- Seattle Film Works o RAF r-- Fuji Photo RAW o RAS rw+ SUN Rasterfile o RGB rw+ Raw red, green, and blue samples o RGBA rw+ Raw red, green, blue, and matte samples o RLA r-- Alias/Wavefront image o RLE r-- Utah Run length encoded image o SCT r-- Scitex HandShake o SFW r-- Seattle Film Works o SGI rw+ Irix RGB image o SHTML -w- Hypertext Markup Language and a client-side image map o STEGANO r-- Steganographic image o SUN rw+ SUN Rasterfile o SVG rw+ Scalable Vector Gaphics o TEXT rw+ Raw text o TGA rw+ Truevision Targa image o TIFF rw+ Tagged Image File Format o TILE r-- Tile image with a texture o TIM r-- PSX TIM o TOPOL r-- TOPOL X Image o TTF r-- TrueType font o TXT rw+ Raw text o UIL -w- X-Motif UIL table o UYVY rw- 16bit/pixel interleaved YUV o VDA rw+ Truevision Targa image o VICAR rw- VICAR rasterfile format o VID rw+ Visual Image Directory o VIFF rw+ Khoros Visualization image o VST rw+ Truevision Targa image o WBMP rw- Wireless Bitmap (level 0) image o WMF r-- Windows Metafile o WPG r-- Word Perfect Graphics o X rw- X Image o X3F r-- Foveon X3 (Sigma/Polaroid) RAW o XBM rw- X Windows system bitmap (black and white) o XC r-- Constant image uniform color o XCF r-- GIMP image o XMP rw- Adobe XML metadata o XPM rw- X Windows system pixmap (color) o XV rw+ Khoros Visualization image o XWD rw- X Windows system window dump (color) o YUV rw- CCIR 601 4:1:1 or 4:2:2 (8-bit only) Modes: r Read w Write + Multi-image \fISupport for some of these formats require additional programs or libraries. See README in the source package for where to find optional additional software\fP. Note, a format delineated with + means that if more than one image is specified, frames are combined into a single multi-image file. Use \fB+adjoin\fP if you want a single image produced for each frame. Your installation might not support all of the formats in the list. To get an accurate listing of the formats supported by your particular configuration, run "gm convert -list format". Raw images are expected to have one byte per pixel unless \fBgm\fP is compiled in 16-bit quantum mode or in 32-bit quantum mode. Here, the raw data is expected to be stored two or four bytes per pixel, respectively, in most-significant-byte-first order. For example, you can tell if \fBgm\fP was compiled in 16-bit mode by typing "gm version" without any options, and looking for "Q:16" in the first line of output. .SH FILES AND FORMATS By default, the image format is determined by its magic number, i.e., the first few bytes of the file. To specify a particular image format, precede the filename with an image format name and a colon (\fIi.e.\fP\fBps:image\fP) or specify the image type as the filename suffix (\fIi.e.\fP\fBimage.ps\fP). The magic number takes precedence over the filename suffix and the prefix takes precedence over the magic number and the suffix in input files. When a file is read, its magic number is stored in the "image->magick" string. In output files, the prefix takes precedence over the filename suffix, and the filename suffix takes precedence over the "image->magick" string. To read the "built-in" formats (GRANITE, H, LOGO, NETSCAPE, PLASMA, and ROSE) use a prefix (including the colon) without a filename or suffix. To read the XC format, follow the colon with a color specification. To read the CAPTION format, follow the colon with a text string or with a filename prefixed with the at symbol (\fB@\fP). When you specify \fBX\fP as your image type, the filename has special meaning. It specifies an X window by \fBid, name\fP, or \fBroot\fP. If no filename is specified, the window is selected by clicking the mouse in the desired window. Specify \fIinput_file\fP as \fB-\fP for standard input, \fIoutput_file\fP as \fB-\fP for standard output. If \fIinput_file\fP has the extension \fB.Z\fP or \fB.gz\fP, the file is uncompressed with \fBuncompress\fP or \fBgunzip\fP respectively. If \fIoutput_file\fP has the extension \fB.Z\fP or \fB.gz\fP, the file is compressed using with \fIcompress\fP or \fIgzip\fP respectively. Use an optional index enclosed in brackets after an input file name to specify a desired subimage of a multi-resolution image format like Photo CD (e.g. "img0001.pcd[4]") or a range for MPEG images (e.g. "video.mpg[50-75]"). A subimage specification can be disjoint (e.g. "image.tiff[2,7,4]"). For raw images, specify a subimage with a geometry (e.g. -size 640x512 "image.rgb[320x256+50+50]"). Surround the image name with quotation marks to prevent your shell from interpreting the square brackets. Single images are written with the filename you specify. However, multi-part images (e.g., a multi-page PostScript document with \fB+adjoin\fP specified) may be written with the scene number included as part of the filename. In order to include the scene number in the filename, it is necessary to include a printf-style %d format specification in the file name and use the +adjoin option. For example, .nf image%02d.miff .fi writes files \fIimage00.miff, image01.miff,\fP etc. Only a single specification is allowed within an output filename. If more than one specification is present, it will be ignored. It is best to embed the scene number in the base part of the file name, not in the extension, because the extension will not be a recognizeable image type. When running a commandline utility, you can prepend an at sign @ to a filename to read a list of image filenames from that file. This is convenient in the event you have too many image filenames to fit on the command line. .SH OPTIONS Options are processed in command line order. Any option you specify on the command line remains in effect for the set of images that follows, until the set is terminated by the appearance of any option or \fB-noop\fP. Some options only affect the decoding of images and others only the encoding. The latter can appear after the final group of input images. This is a combined list of the command-line options used by the GraphicsMagick utilities (\fIanimate\fP, \fIcompare\fP, \fIcomposite\fP, \fIconvert\fP, \fIdisplay\fP, \fIidentify\fP, \fIimport\fP, \fImogrify\fP and \fImontage\fP). In this document, angle brackets ("<>") enclose variables and curly brackets ("{}") enclose optional parameters. For example, "\fB-fuzz {%}\fP" means you can use the option "-fuzz 10" or "-fuzz 2%". .TP .B "-adjoin" \fRjoin images into a single multi-image file By default, all images of an image sequence are stored in the same file. However, some formats (e.g. JPEG) do not support storing more than one image per file and only the first frame in an image sequence will be saved unless the result is saved to separate files. Use \fB+adjoin\fP to force saving multiple frames to multiple numbered files. If \fB+adjoin\fP is used, then the output filename must include a printf style formatting specification for the numeric part of the filename. For example, .nf image%02d.miff .fi .TP .B "-affine \fI"\fP \fRdrawing transform matrix This option provides a transform matrix {sx,rx,ry,sy,tx,ty} for use by subsequent \fB-draw\fP or \fB-transform\fP options. .TP .B "-antialias" \fRremove pixel aliasing By default antialiasing algorithms are used when drawing objects (e.g. lines) or rendering vector formats (e.g. WMF and Postscript). Use +antialias to disable use of antialiasing algorithms. Reasons to disable antialiasing include avoiding increasing colors in the image, or improving rendering speed. .TP .B "-append" \fRappend a set of images This option creates a single image where the images in the original set are stacked top-to-bottom. If they are not of the same width, any narrow images will be expanded to fit using the background color. Use \fB+append\fP to stack images left-to-right. The set of images is terminated by the appearance of any option. If the \fB-append\fP option appears after all of the input images, all images are appended. .TP .B "-asc-cdl \fI"\fP \fRapply ASC CDL color transform Applies ("bakes in") the ASC CDL, which is a format for the exchange of basic primary color grading information between equipment and software from different manufacturers. The format defines the math for three functions: slope, offset and power. Each function uses a number for the red, green, and blue color channels for a total of nine numbers comprising a single color decision. The tenth number (optional) is for chromiance (saturation) as specified by ASC CDL 1.2. The argument string is comma delimited and is in the following form (but without invervening spaces or line breaks) .nf redslope,redoffset,redpower: greenslope,greenoffset,greenpower: blueslope,blueoffset,bluepower: saturation .fi with the unity (no change) specification being: .nf "1.0,0.0,1.0:1.0,0.0,1.0:1.0,0.0,1.0:1.0" .fi .TP .B "-authenticate \fI"\fP \fRdecrypt image with this password Use this option to supply a password for decrypting an image or an image sequence, if it is being read from a format such as PDF that supports encryption. Encrypting images being written is not supported. .TP .B "-auto-orient" \fRorient (rotate) image so it is upright Adjusts the image orienation so that it is suitable for viewing. Uses the orientation tag obtained from the image file or as supplied by the \fB-orient\fP option. .TP .B "-average" \fRaverage a set of images The set of images is terminated by the appearance of any option. If the \fB-average\fP option appears after all of the input images, all images are averaged. .TP .B "-backdrop" \fRdisplay the image centered on a backdrop. This backdrop covers the entire workstation screen and is useful for hiding other X window activity while viewing the image. The color of the backdrop is specified as the foreground color (X11 default is black). Refer to "X Resources", below, for details. .TP .B "-background \fI"\fP \fRthe background color The color is specified using the format described under the \fB-fill\fP option. .TP .B "-black-threshold \fIred[,green][,blue][,opacity]"\fP \fRpixels below the threshold become black Use \fB-black-threshold\fP to set pixels with values below the specified threshold to minimum value (black). If only one value is supplied, or the red, green, and blue values are identical, then intensity thresholding is used. If the color threshold values are not identical then channel-based thresholding is used, and color distortion will occur. Specify a negative value (e.g. -1) if you want a channel to be ignored but you do want to threshold a channel later in the list. If a percent (%) symbol is appended, then the values are treated as a percentage of maximum range. .TP .B "-blue-primary \fI,"\fP \fRblue chromaticity primary point .TP .B "-blur \fI{x}"\fP \fRblur the image with a Gaussian operator Blur with the given radius and standard deviation (sigma). .TP .B "-border \fIx"\fP \fRsurround the image with a border of color See \fB-geometry\fP for details about the geometry specification. .TP .B "-bordercolor \fI"\fP \fRthe border color The color is specified using the format described under the \fB-fill\fP option. .TP .B "-borderwidth \fI"\fP \fRthe border width .TP .B "-box \fI"\fP \fRset the color of the annotation bounding box The color is specified using the format described under the \fB-fill\fP option. See \fB-draw\fP for further details. .TP .B "-channel \fI"\fP \fRthe type of channel Choose from: \fBRed\fP, \fBGreen\fP, \fBBlue\fP, \fBOpacity\fP, \fBMatte\fP, \fBCyan\fP, \fBMagenta\fP, \fBYellow\fP, \fBBlack\fP, or \fBGray\fP. Use this option to extract a particular \fIchannel\fP from the image. \fBOpacity\fP, for example, is useful for extracting the opacity values from an image. .TP .B "-charcoal \fI"\fP \fRsimulate a charcoal drawing .TP .B "-chop \fIx{+-}{+-}{%}"\fP \fRremove pixels from the interior of an image \fIWidth\fP and \fIheight\fP give the number of columns and rows to remove, and \fIx\fP and \fIy\fP are offsets that give the location of the leftmost column and topmost row to remove. The \fIx\fP offset normally specifies the leftmost column to remove. If the \fB-gravity\fP option is present with \fINorthEast, East,\fP or \fISouthEast\fP gravity, it gives the distance leftward from the right edge of the image to the rightmost column to remove. Similarly, the \fIy\fP offset normally specifies the topmost row to remove, but if the \fB-gravity\fP option is present with \fISouthWest, South,\fP or \fISouthEast\fP gravity, it specifies the distance upward from the bottom edge of the image to the bottom row to remove. The \fB-chop\fP option removes entire rows and columns, and moves the remaining corner blocks leftward and upward to close the gaps. .TP .B "-clip" \fRapply the clipping path, if one is present If a clipping path is present, it will be applied to subsequent operations. For example, if you type the following command: .nf gm convert -clip -negate cockatoo.tif negated.tif .fi only the pixels within the clipping path are negated. The \fB-clip\fP feature requires the XML library. If the XML library is not present, the option is ignored. .TP .B "-coalesce" \fRmerge a sequence of images Each image N in the sequence after Image 0 is replaced with the image created by flattening images 0 through N. The set of images is terminated by the appearance of any option. If the \fB-coalesce\fP option appears after all of the input images, all images are coalesced. .TP .B "-colorize \fI"\fP \fRcolorize the image with the pen color Specify the amount of colorization as a percentage. You can apply separate colorization values to the red, green, and blue channels of the image with a colorization value list delimited with slashes (e.g. 0/0/50). The \fB-colorize\fP option may be used in conjunction with \fB-modulate\fP to produce a nice sepia toned image like: .nf gm convert input.ppm -modulate 115,0,100 \\ -colorize 7,21,50 output.ppm. .fi .TP .B "-colormap \fI"\fP \fRdefine the colormap type Choose between \fBshared\fP or \fBprivate\fP. This option only applies when the default X server visual is \fIPseudoColor\fP or \fIGRAYScale\fP. Refer to \fB-visual\fP for more details. By default, a shared colormap is allocated. The image shares colors with other X clients. Some image colors could be approximated, therefore your image may look very different than intended. Choose \fBPrivate\fP and the image colors appear exactly as they are defined. However, other clients may go \fItechnicolor\fP when the image colormap is installed. .TP .B "-colors \fI"\fP \fRpreferred number of colors in the image The actual number of colors in the image may be less than your request, but never more. Note, this is a color reduction option. Images with less unique colors than specified with this option will have any duplicate or unused colors removed. The ordering of an existing color palette may be altered. When converting an image from color to grayscale, convert the image to the gray colorspace before reducing the number of colors since doing so is most efficient. Refer to quantize for more details. Note, options \fB-dither\fP, \fB-colorspace\fP, and \fB-treedepth\fP affect the color reduction algorithm. .TP .B "-colorspace \fI"\fP \fRthe type of colorspace Choices are: \fBCineonLog\fP, \fBCMYK\fP, \fBGRAY\fP, \fBHSL\fP, \fBHWB\fP, \fBOHTA\fP, \fBRGB\fP, \fBRec601Luma\fP, \fBRec709Luma\fP, \fBRec601YCbCr\fP, \fBRec709YCbCr\fP, \fBTransparent\fP, \fBXYZ\fP, \fBYCbCr\fP, \fBYIQ\fP, \fBYPbPr\fP, or \fBYUV\fP. Color reduction, by default, takes place in the RGB color space. Empirical evidence suggests that distances in color spaces such as YUV or YIQ correspond to perceptual color differences more closely than do distances in RGB space. These color spaces may give better results when color reducing an image. Refer to quantize for more details. Two gray colorspaces are supported. The \fBRec601Luma\fP space is based on the recommendations for legacy NTSC television (ITU-R BT.601-5). The \fBRec709Luma\fP space is based on the recommendations for HDTV (Rec. ITU-R BT.709-5) and is suitable for use with computer graphics, and for contemporary CRT displays. The \fBGRAY\fP colorspace currently selects the \fBRec601Luma\fP colorspace by default for backwards compatibly reasons. This default may be re-considered in the future. Two YCbCr colorspaces are supported. The \fBRec601YCbCr\fP space is based on the recommendations for legacy NTSC television (ITU-R BT.601-5). The \fBRec709CbCr\fP space is based on the recommendations for HDTV (Rec. ITU-R BT.709-5) and is suitable for suitable for use with computer graphics, and for contemporary CRT displays. The \fBYCbCr\fP colorspace specification is equivalent to\fBRec601YCbCr\fP. The \fBTransparent\fP color space behaves uniquely in that it preserves the matte channel of the image if it exists. The \fB-colors\fP or \fB-monochrome\fP option, or saving to a file format which requires color reduction, is required for this option to take effect. .TP .B "-comment \fI"\fP \fRannotate an image with a comment Use this option to assign a specific comment to the image, when writing to an image format that supports comments. You can include the image filename, type, width, height, or other image attribute by embedding special format characters listed under the \fB-format\fP option. The comment is not drawn on the image, but is embedded in the image datastream via a "Comment" tag or similar mechanism. If you want the comment to be visible on the image itself, use the \fB-draw\fP option instead. For example, .nf -comment "%m:%f %wx%h" .fi produces an image comment of \fBMIFF:bird.miff 512x480\fP for an image titled \fBbird.miff\fP and whose width is 512 and height is 480. If the first character of \fIstring\fP is \fI@\fP, the image comment is read from a file titled by the remaining characters in the string. Please note that if the string comes from an untrusted source that it should be sanitized before use since otherwise the content of an arbitrary readable file could be incorporated in a comment in the output file (a security risk). If the -comment option appears multiple times, only the last comment is stored. In PNG images, the comment is stored in a \fBtEXt\fP or \fBzTXt\fP chunk with the keyword "comment". .TP .B "-compose \fI"\fP \fRthe type of image composition The description of composition uses abstract terminology in order to allow the the description to be more clear, while avoiding constant values which are specific to a particular build configuration. Each image pixel is represented by red, green, and blue levels (which are equal for a gray pixel). MaxRGB is the maximum integral value which may be stored in the red, green, or blue channels of the image. Each image pixel may also optionally (if the image matte channel is enabled) have an associated level of opacity (ranging from opaque to transparent), which may be used to determine the influence of the pixel color when compositing the pixel with another image pixel. If the image matte channel is disabled, then all pixels in the image are treated as opaque. The color of an \fIopaque\fP pixel is fully visible while the color of a \fItransparent\fP pixel color is entirely absent (pixel color is ignored). By definition, raster images have a rectangular shape. All image rows are of equal length, and all image columns have the same number of rows. By treating the opacity channel as a visual "mask" the rectangular image may be given a "shape" by treating the opacity channel as a cookie-cutter for the image. Pixels within the shape are opaque, while pixels outside the shape are transparent. Pixels on the boundary of the shape may be between opaque and transparent in order to provide antialiasing (visually smooth edges). The description of the composition operators use this concept of image "shape" in order to make the description of the operators easier to understand. While it is convenient to describe the operators in terms of "shapes" they are by no means limited to mask-style operations since they are based on continuous floating-point mathematics rather than simple boolean operations. By default, the \fIOver\fP composite operator is used. The following composite operators are available: .nf Over In Out Atop Xor Plus Minus Add Subtract Difference Divide Multiply Bumpmap Copy CopyRed CopyGreen CopyBlue CopyOpacity CopyCyan CopyMagenta CopyYellow CopyBlack .fi The behavior of each operator is described below. .in 15 .in 15 .B "Over" .in 20 \fR .in 20 The result will be the union of the two image shapes, with opaque areas of \fIchange-image\fP obscuring \fIbase-image\fP in the region of overlap. .in 15 .in 15 .B "In" .in 20 \fR .in 20 The result is simply \fIchange-image\fP cut by the shape of \fIbase-image\fP. None of the image data of \fIbase-image\fP will be in the result. .in 15 .in 15 .B "Out" .in 20 \fR .in 20 The resulting image is \fIchange-image\fP with the shape of \fIbase-image\fP cut out. .in 15 .in 15 .B "Atop" .in 20 \fR .in 20 The result is the same shape as \fIbase-image\fP, with \fIchange-image\fP obscuring \fIbase-image\fP where the image shapes overlap. Note this differs from \fBover\fP because the portion of \fIchange-image\fP outside \fIbase-image\fP's shape does not appear in the result. .in 15 .in 15 .B "Xor" .in 20 \fR .in 20 The result is the image data from both \fIchange-image\fP and \fIbase-image\fP that is outside the overlap region. The overlap region will be blank. .in 15 .in 15 .B "Plus" .in 20 \fR .in 20 The result is just the sum of the image data. Output values are cropped to MaxRGB (no overflow). This operation is independent of the matte channels. .in 15 .in 15 .B "Minus" .in 20 \fR .in 20 The result of \fIchange-image\fP - \fIbase-image\fP, with underflow cropped to zero. The matte channel is ignored (set to opaque, full coverage). .in 15 .in 15 .B "Add" .in 20 \fR .in 20 The result of \fIchange-image\fP + \fIbase-image\fP, with overflow wrapping around (\fImod\fP MaxRGB+1). .in 15 .in 15 .B "Subtract" .in 20 \fR .in 20 The result of \fIchange-image\fP - \fIbase-image\fP, with underflow wrapping around (\fImod\fP MaxRGB+1). The \fBadd\fP and \fBsubtract\fP operators can be used to perform reversible transformations. .in 15 .in 15 .B "Difference" .in 20 \fR .in 20 The result of abs(\fIchange-image\fP - \fIbase-image\fP). This is useful for comparing two very similar images. .in 15 .in 15 .B "Divide" .in 20 \fR .in 20 The result of \fIchange-image\fP / \fIbase-image\fP. This is useful for improving the readability of text on unevenly illuminated photos (by using a gaussian blurred copy of change-image as base-image). .in 15 .in 15 .B "Multiply" .in 20 \fR .in 20 The result of \fIchange-image\fP * \fIbase-image\fP. This is useful for the creation of drop-shadows. .in 15 .in 15 .B "Bumpmap" .in 20 \fR .in 20 The result \fIbase-image\fP shaded by \fIchange-image\fP. .in 15 .in 15 .B "Copy" .in 20 \fR .in 20 The resulting image is \fIbase-image\fP replaced with \fIchange-image\fP. Here the matte information is ignored. .in 15 .in 15 .B "CopyRed" .in 20 \fR .in 20 The resulting image is the red channel in \fIbase-image\fP replaced with the red channel in \fIchange-image\fP. The other channels are copied untouched. .in 15 .in 15 .B "CopyGreen" .in 20 \fR .in 20 The resulting image is the green channel in \fIbase-image\fP replaced with the green channel in \fIchange-image\fP. The other channels are copied untouched. .in 15 .in 15 .B "CopyBlue" .in 20 \fR .in 20 The resulting image is the blue channel in \fIbase-image\fP replaced with the blue channel in \fIchange-image\fP. The other channels are copied untouched. .in 15 .in 15 .B "CopyOpacity" .in 20 \fR .in 20 The resulting image is the opacity channel in \fIbase-image\fP replaced with the opacity channel in \fIchange-image\fP. The other channels are copied untouched. .in 15 .in 15 .B "CopyCyan" .in 20 \fR .in 20 The resulting image is the cyan channel in \fIbase-image\fP replaced with the cyan channel in \fIchange-image\fP. The other channels are copied untouched. Use of this operator requires that base-image be in CMYK(A) colorspace. .in 15 .in 15 .B "CopyMagenta" .in 20 \fR .in 20 The resulting image is the magenta channel in \fIbase-image\fP replaced with the magenta channel in \fIchange-image\fP. The other channels are copied untouched. Use of this operator requires that base-image be in CMYK(A) colorspace. .in 15 .in 15 .B "CopyYellow" .in 20 \fR .in 20 The resulting image is the yellow channel in \fIbase-image\fP replaced with the yellow channel in \fIchange-image\fP. The other channels are copied untouched. Use of this operator requires that base-image be in CMYK(A) colorspace. .in 15 .in 15 .B "CopyBlack" .in 20 \fR .in 20 The resulting image is the black channel in \fIbase-image\fP replaced with the black channel in \fIchange-image\fP. The other channels are copied untouched. Use of this operator requires that base-image be in CMYK(A) colorspace. If change-image is not in CMYK space, then the change-image pixel intensities are used. .in 15 .TP .B "-compress \fI"\fP \fRthe type of image compression Choices are: \fINone\fP, \fIBZip\fP, \fIFax\fP, \fIGroup3\fP, \fIGroup4\fP, \fIJPEG\fP, \fILossless\fP, \fILZW\fP, \fIRLE\fP, \fIZip\fP, \fILZMA\fP, \fIJPEG2000\fP, \fIJPEG2000\fP, \fIJBIG\fP, \fIJBIG2\fP, \fIWebP\fP, or \fIZSTD\fP. Specify \fB+compress\fP to store the binary image in an uncompressed format. The default is the compression type of the specified image file. \fI"Lossless"\fP refers to lossless JPEG, which is only available if the JPEG library has been patched to support it. Use of lossless JPEG is generally not recommended. Use the \fB-quality\fP option to set the compression level to be used by the JPEG, JPEG-2000, PNG, MIFF, MPEG, and TIFF encoders. Use the \fB-sampling-factor\fP option to set the sampling factor to be used by the DPX, JPEG, MPEG, and YUV encoders for downsampling the chroma channels. .TP .B "-contrast" \fRenhance or reduce the image contrast This option enhances the intensity differences between the lighter and darker elements of the image. Use \fB-contrast\fP to enhance the image or \fB+contrast\fP to reduce the image contrast. For a more pronounced effect you can repeat the option: .nf gm convert rose: -contrast -contrast rose_c2.png .fi .TP .B "-convolve \fI"\fP \fRconvolve image with the specified convolution kernel The kernel is specified as a comma-separated list of floating point values, ordered left-to right, starting with the top row. The order of the kernel is determined by the square root of the number of entries. Presently only square kernels are supported. .TP .B "-create-directories" \fRcreate output directory if required Use this option with \fB-output-directory\fP if the input paths contain subdirectories and it is desired to create similar subdirectories in the output directory. Without this option, \fBmogrify\fP will fail if the required output directory does not exist. .TP .B "-crop \fIx{+-}{+-}{%}"\fP \fRpreferred size and location of the cropped image See \fB-geometry\fP for details about the geometry specification. The width and height give the size of the image that remains after cropping, and \fIx\fP and \fIy\fP are offsets that give the location of the top left corner of the cropped image with respect to the original image. To specify the amount to be removed, use \fB-shave\fP instead. If the \fIx\fP and \fIy\fP offsets are present, a single image is generated, consisting of the pixels from the cropping region. The offsets specify the location of the upper left corner of the cropping region measured downward and rightward with respect to the upper left corner of the image. If the \fB-gravity\fP option is present with \fINorthEast, East,\fP or \fISouthEast\fP gravity, it gives the distance leftward from the right edge of the image to the right edge of the cropping region. Similarly, if the \fB-gravity\fP option is present with \fISouthWest, South,\fP or \fISouthEast\fP gravity, the distance is measured upward between the bottom edges. If the \fIx\fP and \fIy\fP offsets are omitted, a set of tiles of the specified geometry, covering the entire input image, is generated. The rightmost tiles and the bottom tiles are smaller if the specified geometry extends beyond the dimensions of the input image. .TP .B "-cycle \fI"\fP \fRdisplace image colormap by amount \fIAmount\fP defines the number of positions each colormap entry isshifted. .TP .B "-debug \fI"\fP \fRenable debug printout The events parameter specifies which events are to be logged. It can be either None, All, or a comma-separated list consisting of one or more of the following domains: Annotate, Blob, Cache, Coder, Configure, Deprecate, Error, Exception, FatalError, Information, Locale, Option, Render, Resource, TemporaryFile, Transform, User. Warning, or X11, For example, to log cache and blob events, use .nf gm convert -debug "Cache,Blob" rose: rose.png .fi The "User" domain is normally empty, but developers can log "User" events in their private copy of GraphicsMagick. Use the \fB-log\fP option to specify the format for debugging output. Use \fB+debug\fP to turn off all logging. An alternative to using \fB-debug\fP is to use the \fBMAGICK_DEBUG\fP environment variable. The allowed values for the \fBMAGICK_DEBUG\fP environment variable are the same as for the \fB-debug\fP option. .TP .B "-deconstruct" \fRbreak down an image sequence into constituent parts This option compares each image with the next in a sequence and returns the maximum bounding region of any pixel differences it discovers. This method can undo a coalesced sequence returned by the \fB-coalesce\fP option, and is useful for removing redundant information from a GIF or MNG animation. The sequence of images is terminated by the appearance of any option. If the \fB-deconstruct\fP option appears after all of the input images, all images are deconstructed. .TP .B "-define \fI{=},..."\fP \fRadd coder/decoder specific options This option creates one or more definitions for coders and decoders to use while reading and writing image data. Definitions may be passed to coders and decoders to control options that are specific to certain image formats. If \fIvalue\fP is missing for a definition, an empty-valued definition of a flag will be created with that name. This is used to control on/off options. Use +define ,... to remove definitions previously created. Use +define "*" to remove all existing definitions. The following definitions may be created: .in 15 .in 15 .B "cineon:colorspace={rgb|cineonlog}" .in 20 \fR .in 20 Use the cineon:colorspace option when reading a Cineon file to specify the colorspace the Cineon file uses. This overrides the colorspace type implied by the DPX header (if any). .in 15 .in 15 .B "dpx:bits-per-sample=" .in 20 \fR .in 20 If the dpx:bits-per-sample key is defined, GraphicsMagick will write DPX images with the specified bits per sample, overriding any existing depth value. If this option is not specified, then the value is based on the existing image depth value from the original image file. The DPX standard supports bits per sample values of 1, 8, 10, 12, and 16. Many DPX readers demand a sample size of 10 bits with type A padding (see below). .in 15 .in 15 .B "dpx:colorspace={rgb|cineonlog}" .in 20 \fR .in 20 Use the dpx:colorspace option when reading a DPX file to specify the colorspace the DPX file uses. This overrides the colorspace type implied by the DPX header (if any). .in 15 .in 15 .B "dpx:packing-method={packed|a|b|lsbpad|msbpad}" .in 20 \fR .in 20 DPX samples are output within 32-bit words. They may be tightly packed end-to-end within the words ("packed"), padded with null bits to the right of the sample ("a" or "lsbpad"), or padded with null bits to the left of the sample ("b" or "msbpad"). This option only has an effect for sample sizes of 10 or 12 bits. If samples are not packed, the DPX standard recommends type A padding. Many DPX readers demand a sample size of 10 bits with type A padding. .in 15 .in 15 .B "dpx:pixel-endian={lsb|msb}" .in 20 \fR .in 20 Allows the user to specify the endian order of the pixels when reading or writing the DPX files. Sometimes this is useful if the file is (or must be) written incorrectly so that the file header and the pixels use different endianness. .in 15 .in 15 .B "dpx:swap-samples={true|false}" .in 20 \fR .in 15 .B "dpx:swap-samples-read={true|false}" .in 20 \fR .in 15 .B "dpx:swap-samples-write={true|false}" .in 20 \fR .in 20 GraphicsMagick strives to adhere to the DPX standard but certain aspects of the standard can be quite confusing. As a result, some 10-bit DPX files have Red and Blue interchanged, or Cb and Cr interchanged due to an different interpretation of the standard, or getting the wires crossed. The swap-samples option may be supplied when reading or writing in order to read or write using the necessary sample order. Use swap-samples-read when swapping should only occur in the reader, or swap-samples-write when swapping should only occur in the writer. .in 15 .in 15 .B "gradient:direction={South|North|West|East|NorthWest|NorthEast|SouthWest|SouthEast}" .in 20 \fR .in 20 By default, the gradient coder produces a gradient from top to bottom ("South"). Since GraphicsMagick 1.3.35, the gradient direction may be specified to produce gradient vectors according to a gravity-like specification. The arguments are \fBSouth\fP (Top to Bottom), \fBNorth\fP (Bottom to Top), \fBWest\fP (Right to Left), \fBEast\fP (Left to Right), \fBNorthWest\fP (Bottom-Right to Top-Left), \fBNorthEast\fP (Bottom-Left to Top-Right), \fBSouthWest\fP (Top-Right Bottom-Left), and \fBSouthEast\fP (Top-Left to Bottom-Right). .in 15 .in 15 .B "jp2:rate=" .in 20 \fR .in 20 Specify the compression factor to use while writing JPEG-2000 files. The compression factor is the reciprocal of the compression ratio. The valid range is 0.0 to 1.0, with 1.0 indicating lossless compression. If defined, this value overrides the -quality setting. The default quality setting of 75 results in a rate value of 0.06641. .in 15 .in 15 .B "jpeg:block-smoothing={true|false}" .in 20 \fR .in 20 Enables or disables block smoothing when reading a JPEG file (default enabled). .in 15 .in 15 .B "jpeg:dct-method=" .in 20 \fR .in 20 Selects the IJG JPEG library DCT implementation to use. The encoding implementations vary in speed and encoding error. The available choices for \fBvalue\fP are \fBislow\fP, \fBifast\fP, \fBfloat\fP, \fBdefault\fP and \fBfastest\fP. Note that \fBfastest\fP might not necessarily be fastest on your CPU, depending on the choices made when the JPEG library was built and how your CPU behaves. .in 15 .in 15 .B "jpeg:fancy-upsampling={true|false}" .in 20 \fR .in 20 Enables or disables fancy upsampling when reading a JPEG file (default enabled). .in 15 .in 15 .B "jpeg:max-scan-number=" .in 20 \fR .in 20 Specifies an integer value for the maximum number of progressive scans allowed in a JPEG file. The default maximum is 100 scans. This limit is imposed due to a weakness in the JPEG standard which allows small JPEG files to take many minutes or hours to be read. .in 15 .in 15 .B "jpeg:max-warnings=" .in 20 \fR .in 20 Specifies an integer value for how many warnings are allowed for any given error type before being promoted to a hard error. JPEG files producing excessive warnings indicate a problem with the file. .in 15 .in 15 .B "jpeg:optimize-coding={true|false}" .in 20 \fR .in 20 Selects if huffman encoding should be used. Huffman encoding is enabled by default, but may be disabled for very large images since it encoding requires that the entire image be buffered in memory. Huffman encoding produces smaller JPEG files at the expense of added compression time and memory consumption. .in 15 .in 15 .B "jpeg:preserve-settings" .in 20 \fR .in 20 If the jpeg:preserve-settings flag is defined, the JPEG encoder will use the same "quality" and "sampling-factor" settings that were found in the input file, if the input was in JPEG format. These settings are also preserved if the input is a JPEG file and the output is a JNG file. If the colorspace of the output file differs from that of the input file, the quality setting is preserved but the sampling-factors are not. .in 15 .in 15 .B "pcl:fit-to-page" .in 20 \fR .in 20 If the pcl:fit-to-page flag is defined, then the printer is requested to scale the image to fit the page size (width and/or height). .in 15 .in 15 .B "png:chunk-malloc-max=" .in 20 \fR .in 20 png:chunk-malloc-max specifies the maximum chunk size that libpng will be allowed to read. Libpng's default is normally 8,000,000 bytes. Very rarely, a valid PNG file may be encountered where the error is reported "chunk data is too large". In this case, the limit may be increased using this option. Take care when increasing this limit since an excessively large limit could allow untrusted files to use excessive memory. .in 15 .in 15 .B "mng:maximum-loops=" .in 20 \fR .in 20 mng:maximum-loops specifies the maximum number of loops allowed to be specified by a MNG LOOP chunk. Without an imposed limit, a MNG file could request up to 2147483647 loops, which could run for a very long time. The current default limit is 512 loops. .in 15 .in 15 .B "pdf:use-cropbox={true|false}" .in 20 \fR .in 20 If the pdf:use-cropbox flag is set to \fBtrue\fP, then Ghostscript is requested to apply the PDF crop box. .in 15 .in 15 .B "pdf:stop-on-error={true|false}" .in 20 \fR .in 20 If the pdf:stop-on-error flag is set to \fBtrue\fP, then Ghostscript is requested to stop processing the PDF when the first error is encountered. Otherwise it will attempt to process all requested pages. .in 15 .in 15 .B "ps:imagemask" .in 20 \fR .in 20 If the ps:imagemask flag is defined, the PS3 and EPS3 coders will create Postscript files that render bilevel images with the Postscript imagemask operator instead of the image operator. .in 15 .in 15 .B "ptif:minimum-geometry=" .in 20 \fR .in 20 If the ptif:minimum-geometry key is defined, GraphicsMagick will use it to determine the minimum frame size to output when writing a pyramid TIFF file (a TIFF file containing a succession of reduced versions of the first frame). The default minimum geometry is 32x32. .in 15 .in 15 .B "tiff:alpha={unspecified|associated|unassociated}" .in 20 \fR .in 20 Specify the TIFF alpha channel type when reading or writing TIFF files, overriding the normal value. The default alpha channel type for new files is unspecified alpha. Existing alpha settings are preserved when converting from one TIFF file to another. When a TIFF file uses associated alpha, the image pixels are pre-multiplied (i.e. altered) with the alpha channel. Files with "associated" alpha appear as if they were alpha composited on a black background when the matte channel is disabled. If the unassociated alpha type is selected, then the alpha channel is saved without altering the pixels. Photoshop recognizes associated alpha as transparency information, if the file is saved with unassociated alpha, the alpha information is loaded as an independent channel. Note that for many years, ImageMagick and GraphicsMagick marked TIFF files as using associated alpha, without properly pre-multiplying the pixels. .in 15 .in 15 .B "tiff:fill-order={msb2lsb|lsb2msb}" .in 20 \fR .in 20 If the tiff:fill-order key is defined, GraphicsMagick will use it to determine the bit fill order used while writing TIFF files. The normal default is "msb2lsb", which matches the native bit order of all modern CPUs. The only exception to this is when Group3 or Group4 FAX compression is requested since FAX machines send data in bit-reversed order and therefore RFC 2301 recommends using reverse order. .in 15 .in 15 .B "tiff:group-three-options=" .in 20 \fR .in 20 If the tiff:group-three-options key is defined, GraphicsMagick will use it to set the group3 options tag when writing group3-compressed TIFF. Please see the TIFF specification for the usage of this tag. The default value is 4. .in 15 .in 15 .B "tiff:ignore-tags=" .in 20 \fR .in 20 If the tiff:ignore-tags key is defined, then it is used as a list of comma-delimited integer TIFF tag values to ignore while reading the TIFF file. This is useful in order to be able to read files which which otherwise fail to read due to problems with TIFF tags. Note that some TIFF tags are required in order to be able to read the image data at all. .in 15 .in 15 .B "tiff:report-warnings={false|true}" .in 20 \fR .in 20 If the tiff:report-warnings key is defined and set to \fBtrue\fP, then TIFF warnings are reported as a warning exception rather than as a coder log message. Such warnings are reported after the image has been read or written. Most TIFF warnings are benign but sometimes they may help deduce problems with the TIFF file, or help detect that the TIFF file requires a special application to read successfully due to the use of proprietary or specialized extensions. .in 15 .in 15 .B "tiff:sample-format={unsigned|ieeefp}" .in 20 \fR .in 20 If the tiff:sample-format key is defined, GraphicsMagick will use it to determine the sample format used while writing TIFF files. The default is "unsigned". Specify "ieeefp" in order to write floating-point TIFF files with float (32-bit) or double (64-bit) values. Use the tiff:bits-per-sample define to determine the type of floating-point value to use. .in 15 .in 15 .B "tiff:max-sample-value=" .in 20 \fR .in 20 If the tiff:max-sample-value key is defined, GraphicsMagick will use the assigned value as the maximum floating point value while reading or writing IEEE floating point TIFFs. Otherwise the maximum value is 1.0 or the value obtained from the file's SMaxSampleValue tag (if present). The floating point data is currently not scanned in advance to determine a best maximum sample value so if the range is not 1.0, or the SMaxSampleValue tag is not present, it may be necessary to (intelligently) use this parameter to properly read a file. .in 15 .in 15 .B "tiff:min-sample-value=" .in 20 \fR .in 20 If the tiff:min-sample-value key is defined, GraphicsMagick will use the assigned value as the minimum floating point value while reading or writing IEEE floating point TIFFs. Otherwise the minimum value is 0.0 or the value obtained from the file's SMinSampleValue tag (if present). .in 15 .in 15 .B "tiff:bits-per-sample=" .in 20 \fR .in 20 If the tiff:bits-per-sample key is defined, GraphicsMagick will write images with the specified bits per sample, overriding any existing depth value. Value may be any in the range of 1 to 32, or 64 when the default \'unsigned' format is written, or 16/32/24/64 if IEEEFP format is written. Please note that the baseline TIFF 6.0 specification only requires readers to handle certain powers of two, and the values to be handled depend on the nature of the image (e.g. colormapped, grayscale, RGB, CMYK). .in 15 .in 15 .B "tiff:samples-per-pixel=" .in 20 \fR .in 20 If the tiff:samples-per-pixel key is defined to a value, the TIFF coder will write TIFF images with the defined samples per pixel, overriding any value stored in the image. This option should not normally be used. .in 15 .in 15 .B "tiff:rows-per-strip=" .in 20 \fR .in 20 Allows the user to specify the number of rows per TIFF strip. Rounded up to a multiple of 16 when using JPEG compression. Ignored when using tiles. .in 15 .in 15 .B "tiff:strip-per-page=true" .in 20 \fR .in 20 Requests that the image is written in a single TIFF strip. This is normally the default when group3 or group4 compression is requested within reasonable limits. Requesting a single strip for large images may result in failure due to resource consumption in the writer or reader. .in 15 .in 15 .B "tiff:tile" .in 20 \fR .in 20 Enable writing tiled TIFF (rather than stripped) using the default tile size. Tiled TIFF organizes the image as an array of smaller images (tiles) in order to enable random access. .in 15 .in 15 .B "tiff:tile-geometry=x" .in 20 \fR .in 20 Specify the tile size to use while writing tiled TIFF. Width and height should be a multiple of 16. If the value is not a multiple of 16, then it will be rounded down. Enables tiled TIFF if it has not already been enabled. GraphicsMagick does not use tiled storage internally so tiles need to be converted back and forth from the internal scanline-oriented storage to tile-oriented storage. Testing with typical RGB images shows that useful square tile size values range from 128x128 to 1024x1024. Large images which require using a disk-based pixel cache benefit from large tile sizes while images which fit in memory work well with smaller tile sizes. .in 15 .in 15 .B "tiff:tile-width=" .in 20 \fR .in 20 Specify the tile width to use while writing tiled TIFF. The tile height is then defaulted to an appropriate size. Width should be a multiple of 16. If the value is not a multiple of 16, then it will be rounded down. Enables tiled TIFF if it has not already been enabled. .in 15 .in 15 .B "tiff:tile-height=" .in 20 \fR .in 20 Specify the tile height to use while writing tiled TIFF. The tile width is then defaulted to an appropriate size. Height should be a multiple of 16. If the value is not a multiple of 16, then it will be rounded down. Enables tiled TIFF if it has not already been enabled. .in 15 .in 15 .B "tiff:webp-lossless={TRUE|FALSE}" .in 20 \fR .in 20 Specify a value of \fBTRUE\fP to enable lossless mode while writing WebP-compressed TIFF files. The WebP \fBwebp:lossless\fP option may also be used. The quality factor set by the \fB-quality\fP option may be used to influence the level of effort expended while compressing. .in 15 .in 15 .B "tiff:zstd-compress-level=" .in 20 \fR .in 20 Specify the compression level to use while writing Zstd-compressed TIFF files. The valid range is 1 to 22. If this define is not specified, then the 'quality' value is used such that the default quality setting of 75 is translated to a compress level of 9 such that \'quality' has a useful range of 10-184 if used for this purpose. .in 15 .in 15 .B "webp:lossless={true|false}" .in 20 \fR .in 20 Enable lossless encoding. .in 15 .in 15 .B "webp:method={0-6}" .in 20 \fR .in 20 Quality/speed trade-off. .in 15 .in 15 .B "webp:image-hint={default,graph,photo,picture}" .in 20 \fR .in 20 Hint for image type. .in 15 .in 15 .B "webp:target-size=" .in 20 \fR .in 20 Target size in bytes. .in 15 .in 15 .B "webp:target-psnr=" .in 20 \fR .in 20 Minimal distortion to try to achieve. .in 15 .in 15 .B "webp:segments={1-4}" .in 20 \fR .in 20 Maximum number of segments to use. .in 15 .in 15 .B "webp:sns-strength={0-100}" .in 20 \fR .in 20 Spatial Noise Shaping. .in 15 .in 15 .B "webp:filter-strength={0-100}" .in 20 \fR .in 20 Filter strength. .in 15 .in 15 .B "webp:filter-sharpness={0-7}" .in 20 \fR .in 20 Filter sharpness. .in 15 .in 15 .B "webp:filter-type={0,1}" .in 20 \fR .in 20 Filtering type. 0 = simple, 1 = strong (only used if filter-strength > 0 or autofilter is enabled). .in 15 .in 15 .B "webp:auto-filter={true|false}" .in 20 \fR .in 20 Auto adjust filter's strength. .in 15 .in 15 .B "webp:alpha-compression=" .in 20 \fR .in 20 Algorithm for encoding the alpha plane (0 = none, 1 = compressed with WebP lossless). Default is 1. .in 15 .in 15 .B "webp:alpha-filtering=" .in 20 \fR .in 20 Predictive filtering method for alpha plane. 0: none, 1: fast, 2: best. Default is 1. .in 15 .in 15 .B "webp:alpha-quality={0-100}" .in 20 \fR .in 20 Between 0 (smallest size) and 100 (lossless). Default is 100. .in 15 .in 15 .B "webp:pass=[1..10]" .in 20 \fR .in 20 Number of entropy-analysis passes. .in 15 .in 15 .B "webp:show-compressed={true|false}" .in 20 \fR .in 20 Export the compressed picture back. In-loop filtering is not applied. .in 15 .in 15 .B "webp:preprocessing=[0,1,2]" .in 20 \fR .in 20 0=none, 1=segment-smooth, 2=pseudo-random dithering .in 15 .in 15 .B "webp:partitions=[0-3]" .in 20 \fR .in 20 log2(number of token partitions) in [0..3]. Default is 0 for easier progressive decoding. .in 15 .in 15 .B "webp:partition-limit={0-100}" .in 20 \fR .in 20 Quality degradation allowed to fit the 512k limit on prediction modes coding (0: no degradation, 100: maximum possible degradation). .in 15 .in 15 .B "webp:emulate-jpeg-size={true|false}" .in 20 \fR .in 20 If true, compression parameters will be remapped to better match the expected output size from JPEG compression. Generally, the output size will be similar but the degradation will be lower. .in 15 .in 15 .B "webp:thread-level=" .in 20 \fR .in 20 If non-zero, try and use multi-threaded encoding. .in 15 .in 15 .B "webp:low-memory={true|false}" .in 20 \fR .in 20 If set, reduce memory usage (but increase CPU use) .in 15 .in 15 .B "webp:use-sharp-yuv={true|false}" .in 20 \fR .in 20 If set, if needed, use sharp (and slow) RGB->YUV conversion .in 15 For example, to create a postscript file that will render only the black pixels of a bilevel image, use: .nf gm convert bilevel.tif -define ps:imagemask eps3:stencil.ps .fi .TP .B "-delay \fI<1/100ths of a second>"\fP \fRdisplay the next image after pausing This option is useful for regulating the animation of image sequences \fIDelay/100\fP seconds must expire before the display of the next image. The default is no delay between each showing of the image sequence. The maximum delay is 65535. You can specify a delay range (e.g. \fI-delay 10-500\fP) which sets the minimum and maximum delay. .TP .B "-density \fIx"\fP \fRhorizontal and vertical resolution in pixels of the image This option specifies the image resolution to store while encoding a raster image or the canvas resolution while rendering (reading) vector formats such as Postscript, PDF, WMF, and SVG into a raster image. Image resolution provides the unit of measure to apply when rendering to an output device or raster image. The default unit of measure is in dots per inch (DPI). The \fB-units\fP option may be used to select dots per centimeter instead. The default resolution is 72 dots per inch, which is equivalent to one point per pixel (Macintosh and Postscript standard). Computer screens are normally 72 or 96 dots per inch while printers typically support 150, 300, 600, or 1200 dots per inch. To determine the resolution of your display, use a ruler to measure the width of your screen in inches, and divide by the number of horizontal pixels (1024 on a 1024x768 display). If the file format supports it, this option may be used to update the stored image resolution. Note that Photoshop stores and obtains image resolution from a proprietary embedded profile. If this profile is not stripped from the image, then Photoshop will continue to treat the image using its former resolution, ignoring the image resolution specified in the standard file header. The density option is an attribute and does not alter the underlying raster image. It may be used to adjust the rendered size for desktop publishing purposes by adjusting the scale applied to the pixels. To resize the image so that it is the same size at a different resolution, use the \fB-resample\fP option. .TP .B "-depth \fI"\fP \fRdepth of the image This is the number of bits of color to preserve in the image. Any value between 1 and \fBQuantumDepth\fP (build option) may be specified, although 8 or 16 are the most common values. Use this option to specify the depth of raw images whose depth is unknown such as GRAY, RGB, or CMYK, or to change the depth of any image after it has been read. The depth option is applied to the pixels immediately so it may be used as a form of simple compression by discarding the least significant bits. Reducing the depth in advance may speed up color quantization, and help create smaller file sizes when using a compression algorithm like LZW or ZIP. .TP .B "-descend" \fRobtain image by descending window hierarchy .TP .B "-despeckle" \fRreduce the speckles within an image .TP .B "-displace \fIx"\fP \fRshift image pixels as defined by a displacement map With this option, \fIcomposite image\fP is used as a displacement map. Black, within the displacement map, is a maximum positive displacement. White is a maximum negative displacement and middle gray is neutral. The displacement is scaled to determine the pixel shift. By default, the displacement applies in both the horizontal and vertical directions. However, if you specify \fImask\fP, \fIcomposite image\fP is the horizontal X displacement and \fImask\fP the vertical Y displacement. .TP .B "-display \fI"\fP \fRspecifies the X server to contact This option is used with convert for obtaining image or font from this X server. See \fIX(1)\fP. .TP .B "-dispose \fI"\fP \fRGIF disposal method The Disposal Method indicates the way in which the graphic is to be treated after being displayed. Here are the valid methods: .nf Undefined No disposal specified. None Do not dispose between frames. Background Overwrite the image area with the background color. Previous Overwrite the image area with what was there prior to rendering the image. .fi .TP .B "-dissolve \fI"\fP \fRdissolve an image into another by the given percent The opacity of the composite image is multiplied by the given percent, then it is composited over the main image. .TP .B "-dither" \fRapply Floyd/Steinberg error diffusion to the image The basic strategy of dithering is to trade intensity resolution for spatial resolution by averaging the intensities of several neighboring pixels. Images which suffer from severe contouring when reducing colors can be improved with this option. The \fB-colors\fP or \fB-monochrome\fP option is required for this option to take effect. Use \fB+dither\fP to turn off dithering and to render PostScript without text or graphic aliasing. Disabling dithering often (but not always) leads to decreased processing time. .TP .B "-draw \fI"\fP \fRannotate an image with one or more graphic primitives Use this option to annotate an image with one or more graphic primitives. The primitives include shapes, text, transformations, and pixel operations. The shape primitives are .nf 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 path path specification image operator x0,y0 w,h filename .fi The text primitive is .nf text x0,y0 string .fi The text gravity primitive is .nf gravity NorthWest, North, NorthEast, West, Center, East, SouthWest, South, or SouthEast .fi The text gravity primitive only affects the placement of text and does not interact with the other primitives. It is equivalent to using the \fB-gravity\fP commandline option, except that it is limited in scope to the \fB-draw\fP option in which it appears. The transformation primitives are .nf rotate degrees translate dx,dy scale sx,sy skewX degrees skewY degrees .fi The pixel operation primitives are .nf color x0,y0 method matte x0,y0 method .fi The shape primitives are drawn in the color specified in the preceding \fB-stroke\fP option. Except for the \fBline\fP and \fBpoint\fP primitives, they are filled with the color specified in the preceding \fB-fill\fP option. For unfilled shapes, use -fill none. \fBPoint\fP requires a single coordinate. \fBLine\fP requires a start and end coordinate. \fBRectangle\fP expects an upper left and lower right coordinate. \fBRoundRectangle\fP has the upper left and lower right coordinates and the width and height of the corners. \fBCircle\fP has a center coordinate and a coordinate for the outer edge. Use \fBArc\fP to inscribe an elliptical arc within a rectangle. Arcs require a start and end point as well as the degree of rotation (e.g. 130,30 200,100 45,90). Use \fBEllipse\fP to draw a partial ellipse centered at the given point with the x-axis and y-axis radius and start and end of arc in degrees (e.g. 100,100 100,150 0,360). Finally, \fBpolyline\fP and \fBpolygon\fP require three or more coordinates to define its boundaries. Coordinates are integers separated by an optional comma. For example, to define a circle centered at 100,100 that extends to 150,150 use: .nf -draw 'circle 100,100 150,150' .fi \fBPaths\fP (See Paths) represent an outline of an object which is defined in terms of moveto (set a new current point), lineto (draw a straight line), curveto (draw a curve using a cubic Bezier), arc (elliptical or circular arc) and closepath (close the current shape by drawing a line to the last moveto) elements. Compound paths (i.e., a path with subpaths, each consisting of a single moveto followed by one or more line or curve operations) are possible to allow effects such as "donut holes" in objects. Use \fBimage\fP to composite an image with another image. Follow the image keyword with the composite operator, image location, image size, and filename: .nf -draw 'image Over 100,100 225,225 image.jpg' .fi You can use 0,0 for the image size, which means to use the actual dimensions found in the image header. Otherwise, it will be scaled to the given dimensions. See \fB-compose\fP for a description of the composite operators. Use \fBtext\fP to annotate an image with text. Follow the text coordinates with a string. If the string has embedded spaces, enclose it in single or double quotes. Optionally you can include the image filename, type, width, height, or other image attribute by embedding special format character. See \fB-comment\fP for details. For example, .nf -draw 'text 100,100 "%m:%f %wx%h"' annotates the image with MIFF:bird.miff 512x480 for an image titled bird.miff and whose width is 512 and height is 480. If the first character of \fIstring\fP is \fI@\fP, the text is read from a file titled by the remaining characters in the string. Please note that if the string comes from an untrusted source that it should be sanitized before use (a security risk). \fBRotate\fP rotates subsequent shape primitives and text primitives about the origin of the main image. If the \fB-region\fP option precedes the \fB-draw\fP option, the origin for transformations is the upper left corner of the region. \fBTranslate\fP translates them. \fBScale\fP scales them. \fBSkewX\fP and \fBSkewY\fP skew them with respect to the origin of the main image or the region. The transformations modify the current affine matrix, which is initialized from the initial affine matrix defined by the \fB-affine\fP option. Transformations are cumulative within the \fB-draw\fP option. The initial affine matrix is not affected; that matrix is only changed by the appearance of another \fB-affine\fP option. If another \fB-draw\fP option appears, the current affine matrix is reinitialized from the initial affine matrix. Use \fBcolor\fP to change the color of a pixel to the fill color (see \fB-fill\fP). Follow the pixel coordinate with a method: .nf point replace floodfill filltoborder reset .fi Consider the target pixel as that specified by your coordinate. The \fBpoint\fP method recolors the target pixel. The \fBreplace\fP method recolors any pixel that matches the color of the target pixel. \fBFloodfill\fP recolors any pixel that matches the color of the target pixel and is a neighbor, whereas \fBfilltoborder\fP recolors any neighbor pixel that is not the border color. Finally, \fBreset\fP recolors all pixels. Use \fBmatte\fP to the change the pixel matte value to transparent. Follow the pixel coordinate with a method (see the \fBcolor\fP primitive for a description of methods). The \fBpoint\fP method changes the matte value of the target pixel. The \fBreplace\fP method changes the matte value of any pixel that matches the color of the target pixel. \fBFloodfill\fP changes the matte value of any pixel that matches the color of the target pixel and is a neighbor, whereas \fBfilltoborder\fP changes the matte value of any neighbor pixel that is not the border color (\fB-bordercolor\fP). Finally \fBreset\fP changes the matte value of all pixels. You can set the primitive color, font, and font bounding box color with \fB-fill\fP, \fB-font\fP, and \fB-box\fP respectively. Options are processed in command line order so be sure to use these options \fIbefore\fP the \fB-draw\fP option. .TP .B "-edge \fI"\fP \fRdetect edges within an image .TP .B "-emboss \fI"\fP \fRemboss an image .TP .B "-encoding \fI"\fP \fRspecify the text encoding Choose from \fIAdobeCustom, AdobeExpert, AdobeStandard, AppleRoman, BIG5, GB2312, Latin 2, None, SJIScode, Symbol, Unicode, Wansung.\fP .TP .B "-endian \fI"\fP \fRspecify endianness (MSB, LSB, or Native) of image \fIMSB\fP indicates big-endian (e.g. SPARC, Motorola 68K) while \fILSB\fP indicates little-endian (e.g. Intel 'x86, VAX) byte ordering. \fINative\fP indicates to use the normal ordering for the current CPU. This option currently only influences the CMYK, DPX, GRAY, RGB, and TIFF, formats. Use \fB+endian\fP to revert to unspecified endianness. .TP .B "-enhance" \fRapply a digital filter to enhance a noisy image .TP .B "-equalize" \fRperform histogram equalization to the image .TP .B "-extent \fIx{+-}{+-}"\fP \fRcomposite image on background color canvas image This option composites the image on a new background color (\fB-background\fP) canvas image of size x. The existing image content is composited at the position specified by geometry x and y offset and/or desired gravity (\fB-gravity\fP) using the current image compose (\fB-compose\fP) method. Image content which falls outside the bounds of the new image dimensions is discarded. For example, this command creates a thumbnail of an image, and centers it on a red color backdrop image, offsetting the canvas ten pixels to the left and five pixels up, with respect to the thumbnail: .nf gm convert infile.jpg -thumbnail 120x80 -background red -gravity center \\ -extent 140x100-10-5 outfile.jpg .fi This command reduces or expands a JPEG image to fit on an 800x600 display: .nf gm convert -size 800x600 input.jpg \\ -resize 800x600 -background black \\ -compose Copy -gravity center \\ -extent 800x600 \\ -quality 92 output.jpg .fi If the aspect ratio of the input image isn't exactly 4:3, then the image is centered on an 800x600 black canvas. .TP .B "-file \fI"\fP \fRwrite annotated difference image to file If \fB-file\fP is specified, then an annotated difference image is generated and written to the specified file. Pixels which differ between the \fBreference\fP and \fBcompare\fP images are modified from those in the \fBcompare\fP image so that the changed pixels become more obvious. Some images may require use of an alternative highlight style (see \fB-highlight-style\fP) or highlight color (see \fB-highlight-color\fP) before the changes are obvious. .TP .B "-fill \fI"\fP \fRcolor to use when filling a graphic primitive Colors are represented in GraphicsMagick in the same form used by SVG. Use "gm convert -list color" to list named colors: .nf name (named color) #RGB (hex numbers, 4 bits each) #RRGGBB (8 bits each) #RRRGGGBBB (12 bits each) #RRRRGGGGBBBB (16 bits each) #RGBA (4 bits each) #RRGGBBAA (8 bits each) #RRRGGGBBBAAA (12 bits each) #RRRRGGGGBBBBAAAA (16 bits each) rgb(r,g,b) (r,g,b are decimal numbers) rgba(r,g,b,a) (r,g,b,a are decimal numbers) .fi Enclose the color specification in quotation marks to prevent the "#" or the parentheses from being interpreted by your shell. For example, .nf gm convert -fill blue ... gm convert -fill "#ddddff" ... gm convert -fill "rgb(65000,65000,65535)" ... .fi The shorter forms are scaled up, if necessary by replication. For example, #3af, #33aaff, and #3333aaaaffff are all equivalent. See \fB-draw\fP for further details. .TP .B "-filter \fI"\fP \fRuse this type of filter when resizing an image Use this option to affect the resizing operation of an image (see \fB-geometry\fP). Choose from these filters (ordered by approximate increasing CPU time): .nf Point Box Triangle Hermite Hanning Hamming Blackman Gaussian Quadratic Cubic Catrom Mitchell Lanczos Bessel Sinc .fi The default filter is automatically selected to provide the best quality while consuming a reasonable amount of time. The \fBMitchell\fP filter is used if the image supports a palette, supports a matte channel, or is being enlarged, otherwise the \fBLanczos\fP filter is used. .TP .B "-flatten" \fRflatten a sequence of images In some file formats (e.g. Photoshop's PSD) complex images may be represented by "layers" (independent images) which must be composited in order to obtain the final rendition. The \fB-flatten\fP option accomplishes this composition. The sequence of images is replaced by a single image created by compositing each image in turn, while respecting composition operators and page offsets. While \fB-flatten\fP is immediately useful for eliminating layers, it is also useful as a general-purpose composition tool. The sequence of images is terminated by the appearance of any option. If the \fB-flatten\fP option appears after all of the input images, all images are flattened. Also see \fB-mosaic\fP which is similar to \fB-flatten\fP except that it adds a suitably-sized canvas base image. For example, this composites an image on top of a 640x400 transparent black canvas image: .nf gm convert -size 640x300 xc:transparent \\ -compose over -page +0-100 \\ frame.png -flatten output.png .fi and this flattens a Photoshop PSD file: .nf gm convert input.psd -flatten output.png .fi .TP .B "-flip" \fRcreate a "mirror image" reflect the scanlines in the vertical direction. .TP .B "-flop" \fRcreate a "mirror image" reflect the scanlines in the horizontal direction. .TP .B "-font \fI"\fP \fRuse this font when annotating the image with text You can tag a font to specify whether it is a PostScript, TrueType, or X11 font. For example, Arial.ttf is a TrueType font, ps:helvetica is PostScript, and x:fixed is X11. .TP .B "-foreground \fI"\fP \fRdefine the foreground color The color is specified using the format described under the \fB-fill\fP option. .TP .B "-format \fI"\fP \fRthe image format type When used with the \fBmogrify\fP utility, this option will convert any image to the image format you specify. See \fIGraphicsMagick(1)\fP for a list of image format types supported by \fBGraphicsMagick\fP, or see the output of 'gm -list format'. By default the file is written to its original name. However, if the filename extension matches a supported format, the extension is replaced with the image format type specified with \fB-format\fP. For example, if you specify \fItiff\fP as the format type and the input image filename is \fIimage.gif\fP, the output image filename becomes \fIimage.tiff\fP. .TP .B "-format \fI"\fP \fRoutput formatted image characteristics When used with the \fBidentify\fP utility, or the \fBconvert\fP utility with output written to the 'info:-' file specification, use this option to print information about the image in a format of your choosing. You can include the image filename, type, width, height, Exif data, or other image attributes by embedding special format characters: .nf %b file size %c comment %d directory %e filename extension %f filename %g page dimensions and offsets %h height %i input filename %k number of unique colors %l label %m magick %n number of scenes %o output filename %p page number %q image bit depth %r image type description %s scene number %t top of filename %u unique temporary filename %w width %x horizontal resolution %y vertical resolution %A transparency supported %C compression type %D GIF disposal method %G Original width and height %H page height %M original filename specification %O page offset (x,y) %P page dimensions (width,height) %Q compression quality %T time delay (in centi-seconds) %U resolution units %W page width %X page horizontal offset (x) %Y page vertical offset (y) %@ trim bounding box %# signature \\n newline \\r carriage return %% % .fi For example, .nf -format "%m:%f %wx%h" .fi displays \fBMIFF:bird.miff 512x480\fP for an image titled \fBbird.miff\fP and whose width is 512 and height is 480. If the first character of \fIstring\fP is \fB@\fP, the format is read from a file titled by the remaining characters in the string. Please note that if the string comes from an untrusted source that it should be sanitized before use since this may be used to incorporate any readable file on the system (a security risk). The values of image type (\fB%r\fP) which may be returned include: .nf Bilevel Grayscale GrayscaleMatte Palette PaletteMatte TrueColor TrueColorMatte ColorSeparation ColorSeparationMatte Optimize .fi You can also use the following special formatting syntax to print Exif information contained in the file: .nf %[EXIF:] .fi Where "" may be one of the following: .nf * (print all Exif tags, in keyword=data format) ! (print all Exif tags, in tag_number format) #hhhh (print data for Exif tag #hhhh) ImageWidth ImageLength BitsPerSample Compression PhotometricInterpretation FillOrder DocumentName ImageDescription Make Model StripOffsets Orientation SamplesPerPixel RowsPerStrip StripByteCounts XResolution YResolution PlanarConfiguration ResolutionUnit TransferFunction Software DateTime Artist WhitePoint PrimaryChromaticities TransferRange JPEGProc JPEGInterchangeFormat JPEGInterchangeFormatLength YCbCrCoefficients YCbCrSubSampling YCbCrPositioning ReferenceBlackWhite CFARepeatPatternDim CFAPattern BatteryLevel Copyright ExposureTime FNumber IPTC/NAA ExifOffset InterColorProfile ExposureProgram SpectralSensitivity GPSInfo ISOSpeedRatings OECF ExifVersion DateTimeOriginal DateTimeDigitized ComponentsConfiguration CompressedBitsPerPixel ShutterSpeedValue ApertureValue BrightnessValue ExposureBiasValue MaxApertureValue SubjectDistance MeteringMode LightSource Flash FocalLength MakerNote UserComment SubSecTime SubSecTimeOriginal SubSecTimeDigitized FlashPixVersion ColorSpace ExifImageWidth ExifImageLength InteroperabilityOffset FlashEnergy SpatialFrequencyResponse FocalPlaneXResolution FocalPlaneYResolution FocalPlaneResolutionUnit SubjectLocation ExposureIndex SensingMethod FileSource SceneType .fi JPEG specific information (from reading a JPEG file) may be obtained like this: .nf %[JPEG-] .fi Where "" may be one of the following: .nf * (all JPEG-related tags, in keyword=data format) Quality IJG JPEG "quality" estimate Colorspace JPEG colorspace numeric ID Colorspace-Name JPEG colorspace name Sampling-factors JPEG sampling factors .fi Please note that JPEG has no notion of "quality" and that the quality metric used by, and estimated by the software is based on the quality metric established by IJG JPEG 6b. Other encoders (e.g. that used by Adobe Photoshop) use different encoding metrics. Surround the format specification with quotation marks to prevent your shell from misinterpreting any spaces and square brackets. .TP .B "-frame \fIx++"\fP \fRsurround the image with an ornamental border See \fB-geometry\fP for details about the geometry specification. The \fB-frame\fP option is not affected by the \fB-gravity\fP option. The color of the border is specified with the \fB-mattecolor\fP command line option. .TP .B "-frame" \fRinclude the X window frame in the imported image .TP .B "-fuzz \fI{%}"\fP \fRcolors within this Euclidean distance are considered equal A number of algorithms search for a target color. By default the color must be exact. Use this option to match colors that are close (in Euclidean distance) to the target color in RGB 3D space. For example, if you want to automatically trim the edges of an image with \fB-trim\fP but the image was scanned and the target background color may differ by a small amount. This option can account for these differences. The \fIdistance\fP can be in absolute intensity units or, by appending \fI"%"\fP, as a percentage of the maximum possible intensity (255, 65535, or 4294967295). .TP .B "-gamma \fI"\fP \fRlevel of gamma correction The same color image displayed on two different workstations may look different due to differences in the display monitor. Use gamma correction to adjust for this color difference. Reasonable values extend from \fB0.8\fP to \fB2.3\fP. Gamma less than 1.0 darkens the image and gamma greater than 1.0 lightens it. Large adjustments to image gamma may result in the loss of some image information if the pixel quantum size is only eight bits (quantum range 0 to 255). You can apply separate gamma values to the red, green, and blue channels of the image with a gamma value list delimited with slashes (e.g., \fB1.7\fP/\fB2.3\fP/\fB1.2\fP). Use \fB+gamma\fP \fIvalue\fP to set the image gamma level without actually adjusting the image pixels. This option is useful if the image is of a known gamma but not set as an image attribute (e.g. PNG images). .TP .B "-gaussian \fI{x}"\fP \fRblur the image with a Gaussian operator Use the given radius and standard deviation (sigma). .TP .B "-geometry \fIx{+-}{+-}{%}{@}{!}{^}{<}{>}"\fP \fRSpecify dimension, offset, and resize options. The \fB-geometry\fP option is used for a number of different purposes, depending on the utility it is used with. For the X11 commands ('animate', 'display', and 'import'), it specifies the preferred size and location of the Image window. By default, the window size is the image size and the location is chosen by you (or your window manager) when it is mapped. For the 'import', 'convert', 'mogrify' utility commands it may be used to specify the desired size when resizing an image. In this case, symbols representing resize options may be appended to the geometry string to influence how the resize request is treated. See later notes corresponding to usage by particular commands. The following notes apply to when \fB-geometry\fP is used to express a resize request, taking into account the current properties of the image. By default, the width and height are maximum values. That is, the image is expanded or contracted to fit the width and height value while maintaining the aspect ratio of the image. Append a ^ to the geometry so that the image aspect ratio is maintained when the image is resized, but the resulting width or height are treated as minimum values rather than maximum values. Append a ! (exclamation point) to the geometry to force the image size to exactly the size you specify. For example, if you specify 640x480! the image width is set to 640 pixels and height to 480. If only the width is specified, without the trailing 'x', then height is set to width (e.g., -geometry 100 is the same as -geometry 100x100). If only the width is specified but with the trailing 'x', then width assumes the value and the height is chosen to maintain the aspect ratio of the image. Similarly, if only the height is specified prefixed by 'x' (e.g., -geometry x256), the width is chosen to maintain the aspect ratio. To specify a percentage width or height instead, append %. The image size is multiplied by the width and height percentages to obtain the final image dimensions. To increase the size of an image, use a value greater than 100 (e.g. 125%). To decrease an image's size, use a percentage less than 100. Use @ to specify the maximum area in pixels of an image. Use > to change the dimensions of the image \fIonly\fP if its width or height exceeds the geometry specification. < resizes the image \fIonly\fP if both of its dimensions are less than the geometry specification. For example, if you specify '640x480>' and the image size is 256x256, the image size does not change. However, if the image is 512x512 or 1024x1024, it is resized to 480x480. Enclose the geometry specification in quotation marks to prevent the < or > from being interpreted by your shell as a file redirection. When used with \fIanimate\fP and \fIdisplay\fP, offsets are handled in the same manner as in \fIX(1)\fP and the \fB-gravity\fP option is not used. If the \fIx\fP is negative, the offset is measured leftward from the right edge of the screen to the right edge of the image being displayed. Similarly, negative \fIy\fP is measured between the bottom edges. The offsets are not affected by "%"; they are always measured in pixels. When used as a \fIcomposite\fP option, \fB-geometry\fP gives the dimensions of the image and its location with respect to the composite image. If the \fB-gravity\fP option is present with \fINorthEast, East,\fP or \fISouthEast\fP gravity, the \fIx\fP represents the distance from the right edge of the image to the right edge of the composite image. Similarly, if the \fB-gravity\fP option is present with \fISouthWest, South,\fP or \fISouthEast\fP gravity, \fIy\fP is measured between the bottom edges. Accordingly, a positive offset will never point in the direction outside of the image. The offsets are not affected by "%"; they are always measured in pixels. To specify the dimensions of the composite image, use the \fB-resize\fP option. When used as a \fIconvert\fP, \fIimport\fP or \fImogrify\fP option, \fB-geometry\fP is synonymous with \fB-resize\fP and specifies the size of the output image. The offsets, if present, are ignored. When used as a \fImontage\fP option, \fB-geometry\fP specifies the image size and border size for each tile; default is 256x256+0+0. Negative offsets (border dimensions) are meaningless. The \fB-gravity\fP option affects the placement of the image within the tile; the default gravity for this purpose is \fICenter\fP. If the "%" sign appears in the geometry specification, the tile size is the specified percentage of the original dimensions of the first tile. To specify the dimensions of the montage, use the \fB-resize\fP option. .TP .B "-gravity \fI"\fP \fRdirection primitive gravitates to when annotating the image. Choices are: NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast. The direction you choose specifies where to position the text when annotating the image. For example \fICenter\fP gravity forces the text to be centered within the image. By default, the image gravity is \fINorthWest\fP. See \fB-draw\fP for more details about graphic primitives. Only the text primitive is affected by the \fB-gravity\fP option. The \fB-gravity\fP option is also used in concert with the \fB-geometry\fP option and other options that take \fB\fP as a parameter, such as the \fB-crop\fP option. See \fB-geometry\fP for details of how the \fB-gravity\fP option interacts with the \fB\fP and \fB\fP parameters of a geometry specification. When used as an option to \fIcomposite\fP, \fB-gravity\fP gives the direction that the image gravitates within the composite. When used as an option to \fImontage\fP, \fB-gravity\fP gives the direction that an image gravitates within a tile. The default gravity is \fICenter\fP for this purpose. .TP .B "-green-primary \fI,"\fP \fRgreen chromaticity primary point .TP .B "-hald-clut \fI"\fP \fRapply a Hald CLUT to the image A Hald CLUT ("Color Look-Up Table") is a special square color image which contains a look-up table for red, green, and blue. The size of the Hald CLUT image is determined by its order. The width (and height) of a Hald CLUT is the cube of the order. For example, a Hald CLUT of order 8 is 512x512 pixels (262,144 colors) and of order 16 is 4096x4096 (16,777,216 colors). A special CLUT is the identity CLUT which which causes no change to the input image. In order to use the Hald CLUT, one takes an identity CLUT and adjusts its colors in some way. The modified CLUT can then be used to transform any number of images in an identical way. GraphicsMagick contains a built-in identity CLUT generator via the \fBIDENTITY\fP coder. For example reading from the file name \fPIDENTITY:8\fP returns an identity CLUT of order 8. Typical Hald CLUT identity images have an order of between 8 and 16. The default order for the \fBIDENTITY\fP CLUT generator is 8. Interpolation is used so it is not usually necessary for CLUT images to be very large. The PNG file format is ideal for storing Hald CLUT images because it compresses them very well. .TP .B "-help" \fRprint usage instructions .TP .B "-highlight-color \fI"\fP \fRpixel annotation color Specifies the color to use when annotating difference pixels. .TP .B "-highlight-style \fI