From 29dc865bd0ebcc51ba89cbde1d57715a044d18ac Mon Sep 17 00:00:00 2001
From: cristy âadaptiveâblur ⢠âadaptiveâresize ⢠âadaptiveâsharpen ⢠âadjoin ⢠âaffine ⢠âalpha ⢠âannotate ⢠âantialias ⢠âappend ⢠âattenuate ⢠âauthenticate ⢠âautoâgamma ⢠âautoâlevel ⢠âautoâorient ⢠âbackdrop ⢠âbackground ⢠âbench ⢠âbias ⢠âblackâpointâcompensation ⢠âblackâthreshold ⢠âblend ⢠âblueâprimary ⢠âblueâshift ⢠âblur ⢠âborder ⢠âbordercolor ⢠âborderwidth ⢠âbrightnessâcontrast ⢠âcache ⢠âcanny ⢠âcaption ⢠âcdl ⢠âchannel ⢠âcharcoal ⢠âchop ⢠âclamp ⢠âclip ⢠âclipâmask ⢠âclipâpath ⢠âclone ⢠âclut ⢠âcoalesce ⢠âcolorize ⢠âcolormap ⢠âcolorâmatrix ⢠âcolors ⢠âcolorspace ⢠âcombine ⢠âcomment ⢠âcompare ⢠âcomplex ⢠âcompose ⢠âcomposite ⢠âcompress ⢠âconnectedâcomponents ⢠âcontrast ⢠âcontrastâstretch ⢠âconvolve ⢠âcrop ⢠âcycle ⢠âdebug ⢠âdecipher ⢠âdeconstruct ⢠âdefine ⢠âdelay ⢠âdelete ⢠âdensity ⢠âdepth ⢠âdescend ⢠âdeskew ⢠âdespeckle ⢠âdirection ⢠âdisplace ⢠âdisplay ⢠âdispose ⢠âdissimilarityâthreshold ⢠âdissolve ⢠âdistort ⢠âdistributeâcache ⢠âdither ⢠âdraw ⢠âduplicate ⢠âedge ⢠âemboss ⢠âencipher ⢠âencoding ⢠âendian ⢠âenhance ⢠âequalize ⢠âevaluate ⢠âevaluateâsequence ⢠âextent ⢠âextract ⢠âfamily ⢠âfeatures ⢠âfft ⢠âfill ⢠âfilter ⢠âflatten ⢠âflip ⢠âfloodfill ⢠âflop ⢠âfont ⢠âforeground ⢠âformat ⢠âformat[identify] ⢠âframe ⢠âframe[import] ⢠âfunction ⢠âfuzz ⢠âfx ⢠âgamma ⢠âgaussianâblur ⢠âgeometry ⢠âgravity ⢠âgrayscale ⢠âgreenâprimary ⢠âhaldâclut ⢠âhelp ⢠âhighlightâcolor ⢠âhoughâlines ⢠âiconGeometry ⢠âiconic ⢠âidentify ⢠âift ⢠âimmutable ⢠âimplode ⢠âinsert ⢠âintensity ⢠âintent ⢠âinterlace ⢠âinterpolate ⢠âinterlineâspacing ⢠âinterwordâspacing ⢠âkerning ⢠âkuwahara ⢠âlabel ⢠âlat ⢠âlayers ⢠âlevel ⢠âlevelâcolors ⢠âlimit ⢠âlinearâstretch ⢠âlinewidth ⢠âliquidârescale ⢠âlist ⢠âlog ⢠âloop ⢠âlowlightâcolor ⢠âmagnify ⢠âmap ⢠âmap[stream] ⢠âmask ⢠âmattecolor ⢠âmedian ⢠âmeanâshift ⢠âmetric ⢠âmode ⢠âmodulate ⢠âmoments ⢠âmonitor ⢠âmonochrome ⢠âmorph ⢠âmorphology ⢠âmosaic ⢠âmotionâblur ⢠âname ⢠ânegate ⢠ânoise ⢠ânormalize ⢠âopaque ⢠âorderedâdither ⢠âorient ⢠âpage ⢠âpaint ⢠âpath ⢠âpause[animate] ⢠âpause[import] ⢠âperceptible ⢠âping ⢠âpointsize ⢠âpolaroid ⢠âpoly ⢠âposterize ⢠âprecision ⢠âpreview ⢠âprint ⢠âprocess ⢠âprofile ⢠âquality ⢠âquantize ⢠âquiet ⢠âradialâblur ⢠âraise ⢠ârandomâthreshold ⢠âredâprimary ⢠âregardâwarnings ⢠âregion ⢠âremap ⢠âremote ⢠ârender ⢠ârepage ⢠âresample ⢠âresize ⢠ârespectâparentheses ⢠âreverse ⢠âroll ⢠ârotate ⢠âsample ⢠âsamplingâfactor ⢠âscale ⢠âscene ⢠âscreen ⢠âseed ⢠âsegment ⢠âselectiveâblur ⢠âseparate ⢠âsepiaâtone ⢠âset ⢠âshade ⢠âshadow ⢠âsharedâmemory ⢠âsharpen ⢠âshave ⢠âshear ⢠âsigmoidalâcontrast ⢠âsilent ⢠âsimilarityâthreshold ⢠âsize ⢠âsketch ⢠âsmush ⢠âsnaps ⢠âsolarize ⢠âsparseâcolor ⢠âsplice ⢠âspread ⢠âstatistic ⢠âstegano ⢠âstereo ⢠âstretch ⢠âstrip ⢠âstroke ⢠âstrokewidth ⢠âstyle ⢠âsubimageâsearch ⢠âswap ⢠âswirl ⢠âsynchronize ⢠âtaint ⢠âtextâfont ⢠âtexture ⢠âthreshold ⢠âthumbnail ⢠âtile ⢠âtileâoffset ⢠âtint ⢠âtitle ⢠âtransform ⢠âtransparent ⢠âtransparentâcolor ⢠âtranspose ⢠âtransverse ⢠âtreedepth ⢠âtrim ⢠âtype ⢠âundercolor ⢠âuniqueâcolors ⢠âunits ⢠âunsharp ⢠âupdate ⢠âverbose ⢠âversion ⢠âview ⢠âvignette ⢠âvirtualâpixel ⢠âvisual ⢠âwatermark ⢠âwave ⢠âweight ⢠âwhiteâpoint ⢠âwhiteâthreshold ⢠âwindow ⢠âwindowâgroup ⢠âwrite ‑adaptive‑blur ⢠‑adaptive‑resize ⢠‑adaptive‑sharpen ⢠‑adjoin ⢠‑affine ⢠‑alpha ⢠‑annotate ⢠‑antialias ⢠‑append ⢠‑attenuate ⢠‑authenticate ⢠‑auto‑gamma ⢠‑auto‑level ⢠‑auto‑orient ⢠‑backdrop ⢠‑background ⢠‑bench ⢠‑bias ⢠‑black‑point‑compensation ⢠‑black‑threshold ⢠‑blend ⢠‑blue‑primary ⢠‑blue‑shift ⢠‑blur ⢠‑border ⢠‑bordercolor ⢠‑borderwidth ⢠‑brightness‑contrast ⢠‑cache ⢠‑canny ⢠‑caption ⢠‑cdl ⢠‑channel ⢠‑charcoal ⢠‑chop ⢠‑clamp ⢠‑clip ⢠‑clip‑mask ⢠‑clip‑path ⢠‑clone ⢠‑clut ⢠‑coalesce ⢠‑colorize ⢠‑colormap ⢠‑color‑matrix ⢠‑colors ⢠‑colorspace ⢠‑combine ⢠‑comment ⢠‑compare ⢠‑complex ⢠‑compose ⢠‑composite ⢠‑compress ⢠‑connected‑components ⢠‑contrast ⢠‑contrast‑stretch ⢠‑convolve ⢠‑crop ⢠‑cycle ⢠‑debug ⢠‑decipher ⢠‑deconstruct ⢠‑define ⢠‑delay ⢠‑delete ⢠‑density ⢠‑depth ⢠‑descend ⢠‑deskew ⢠‑despeckle ⢠‑direction ⢠‑displace ⢠‑display ⢠‑dispose ⢠‑dissimilarity‑threshold ⢠‑dissolve ⢠‑distort ⢠‑distribute‑cache ⢠‑dither ⢠‑draw ⢠‑duplicate ⢠‑edge ⢠‑emboss ⢠‑encipher ⢠‑encoding ⢠‑endian ⢠‑enhance ⢠‑equalize ⢠‑evaluate ⢠‑evaluate‑sequence ⢠‑extent ⢠‑extract ⢠‑family ⢠‑features ⢠‑fft ⢠‑fill ⢠‑filter ⢠‑flatten ⢠‑flip ⢠‑floodfill ⢠‑flop ⢠‑font ⢠‑foreground ⢠‑format ⢠‑format[identify] ⢠‑frame ⢠‑frame[import] ⢠‑function ⢠‑fuzz ⢠‑fx ⢠‑gamma ⢠‑gaussian‑blur ⢠‑geometry ⢠‑gravity ⢠‑grayscale ⢠‑green‑primary ⢠‑hald‑clut ⢠‑help ⢠‑highlight‑color ⢠‑hough‑lines ⢠‑iconGeometry ⢠‑iconic ⢠‑identify ⢠‑ift ⢠‑immutable ⢠‑implode ⢠‑insert ⢠‑intensity ⢠‑intent ⢠‑interlace ⢠‑interpolate ⢠‑interline‑spacing ⢠‑interword‑spacing ⢠‑kerning ⢠‑kuwahara ⢠‑label ⢠‑lat ⢠‑layers ⢠‑level ⢠‑level‑colors ⢠‑limit ⢠‑linear‑stretch ⢠‑linewidth ⢠‑liquid‑rescale ⢠‑list ⢠‑log ⢠‑loop ⢠‑lowlight‑color ⢠‑magnify ⢠‑map ⢠‑map[stream] ⢠‑mask ⢠‑mattecolor ⢠‑median ⢠‑mean‑shift ⢠‑metric ⢠‑mode ⢠‑modulate ⢠‑moments ⢠‑monitor ⢠‑monochrome ⢠‑morph ⢠‑morphology ⢠‑mosaic ⢠‑motion‑blur ⢠‑name ⢠‑negate ⢠‑noise ⢠‑normalize ⢠‑opaque ⢠‑ordered‑dither ⢠‑orient ⢠‑page ⢠‑paint ⢠‑path ⢠‑pause[animate] ⢠‑pause[import] ⢠‑perceptible ⢠‑ping ⢠‑pointsize ⢠‑polaroid ⢠‑poly ⢠‑posterize ⢠‑precision ⢠‑preview ⢠‑print ⢠‑process ⢠‑profile ⢠‑quality ⢠‑quantize ⢠‑quiet ⢠‑radial‑blur ⢠‑raise ⢠‑random‑threshold ⢠‑red‑primary ⢠‑regard‑warnings ⢠‑region ⢠‑remap ⢠‑remote ⢠‑render ⢠‑repage ⢠‑resample ⢠‑resize ⢠‑respect‑parentheses ⢠‑reverse ⢠‑roll ⢠‑rotate ⢠‑sample ⢠‑sampling‑factor ⢠‑scale ⢠‑scene ⢠‑screen ⢠‑seed ⢠‑segment ⢠‑selective‑blur ⢠‑separate ⢠‑sepia‑tone ⢠‑set ⢠‑shade ⢠‑shadow ⢠‑shared‑memory ⢠‑sharpen ⢠‑shave ⢠‑shear ⢠‑sigmoidal‑contrast ⢠‑silent ⢠‑similarity‑threshold ⢠‑size ⢠‑sketch ⢠‑smush ⢠‑snaps ⢠‑solarize ⢠‑sparse‑color ⢠‑splice ⢠‑spread ⢠‑statistic ⢠‑stegano ⢠‑stereo ⢠‑stretch ⢠‑strip ⢠‑stroke ⢠‑strokewidth ⢠‑style ⢠‑subimage‑search ⢠‑swap ⢠‑swirl ⢠‑synchronize ⢠‑taint ⢠‑text‑font ⢠‑texture ⢠‑threshold ⢠‑thumbnail ⢠‑tile ⢠‑tile‑offset ⢠‑tint ⢠‑title ⢠‑transform ⢠‑transparent ⢠‑transparent‑color ⢠‑transpose ⢠‑transverse ⢠‑treedepth ⢠‑trim ⢠‑type ⢠‑undercolor ⢠‑unique‑colors ⢠‑units ⢠‑unsharp ⢠‑update ⢠‑verbose ⢠‑version ⢠‑view ⢠‑vignette ⢠‑virtual‑pixel ⢠‑visual ⢠‑watermark ⢠‑wave ⢠‑weight ⢠‑white‑point ⢠‑white‑threshold ⢠‑window ⢠‑window‑group ⢠‑write Below is list of command-line options recognized by the ImageMagick command-line tools. If you want a description of a particular option, click on the option name in the navigation bar above and you will go right to it. Unless otherwise noted, each option is recognized by the commands: convert and mogrify. Adaptively blur pixels, with decreasing effect near edges. Resize the image using data-dependent triangulation. See Image Geometry for complete details about the geometry argument. The -adaptive-resize
-option defaults to data-dependent triangulation. Use the -filter to choose a different resampling algorithm.
-Offsets, if present in the geometry string, are ignored, and the -gravity option has no effect. Adaptively sharpen pixels, with increasing effect near edges. Join images into a single multi-image file. Set the drawing transformation matrix for combined rotating and scaling. This option sets a transformation matrix, for use by subsequent -draw or -transform options. This option sets a transformation matrix, for use by subsequent -draw or -transform options. The matrix entries are entered as comma-separated numeric values either in
quotes or without spaces. The size of the resulting image is that of the smallest rectangle that
@@ -171,7 +178,8 @@ four parameters suffice for rotation and scaling without translation. See -transform, and the -distort method ' See -transform, and the -distort method ' The cumulative effect of a sequence of -affine
-transformations can be accomplished by instead by a single -affine operation using the matrix equal to the product of the matrices
+ The cumulative effect of a sequence of -affine
+transformations can be accomplished by instead by a single -affine operation using the matrix equal to the product of the matrices
of the individual transformations. An attempt is made to detect near-singular transformation matrices. If the
matrix determinant has a sufficiently small absolute value it is rejected. Gives control of the alpha/matte channel of an image. Note that while the obsolete -adjoin
+ -adjoin
+
Affineprojection
for more
+Affineprojection
for more
information +matte
operation was the
-same as "-alpha Off
", the
->-matte
operation was the same as "-alpha
-Set
" and not "-alpha On
". -alpha Off
", the
+>-matte
operation was the same as "-alpha
+Set
" and not "-alpha On
".
Annotate an image with text
@@ -325,7 +334,7 @@ control over text annotations, use -draThe values Xdegrees and Ydegrees -control the shears applied to the text, while tx and ty are offsets that give the location of the text relative any -gravity setting and defaults to the upper left corner of the image.
+control the shears applied to the text, while tx and ty are offsets that give the location of the text relative any -gravity setting and defaults to the upper left corner of the image.Using -annotate degrees or -annotate degreesxdegrees produces an unsheared rotation of the text. The @@ -334,11 +343,11 @@ convention once it is realized that the positive yâdirection is conventionally considered to be downward for images.)
The new (transformed) coordinates (x', y') of a pixel at position (x, y) in the image are calculated using the following matrix -equation.
If tx and ty are omitted, they default to 0. This makes the bottom-left of the text becomes the upper-left corner of the image, which is -probably undesirable. Adding a -gravity option in this +probably undesirable. Adding a -gravity option in this case leads to nice results.
Text is any UTF-8 encoded character sequence. If text @@ -347,7 +356,7 @@ is of the form '@mytext.txt', the text is read from the file formatting characters are recognized.
Enable/Disable of the rendering of anti-aliasing pixels when drawing fonts and lines.
@@ -359,7 +368,7 @@ an image to just the colors being directly drawn. That is, no mixed colors are added when drawing such objects.Join current images vertically or horizontally.
@@ -370,11 +379,12 @@ stack images left-to-right.If they are not of the same width, narrower images are padded with the current -background color setting, and their -position relative to each other can be controlled by the current -gravity setting.
+position relative to each other can be controlled by the current -gravity setting.Lessen (or intensify) when adding noise to an image.
@@ -382,7 +392,7 @@ position relative to each other can be controlled by the current -Decrypt a PDF with a password.
@@ -396,12 +406,13 @@ and -decipher.Automagically adjust gamma level of image.
-This calculates the mean values of an image, then applies a calculated -gamma adjustment so that is the mean color exists in the +
This calculates the mean values of an image, then applies a calculated -gamma adjustment so that is the mean color exists in the image it will get a have a value of 50%.
This means that any solid 'gray' image becomes 50% gray.
@@ -411,43 +422,49 @@ light areas, but tend to fail for images with large amounts of bright sky or dark shadows. It also does not work well for diagrams or cartoon like images. -It uses the -channel setting, (including the +
It uses the -channel setting, (including the 'sync' flag for channel synchronization), to determine which color -values is used and modified. As the default -channel setting is 'RGB,sync', channels are modified +values is used and modified. As the default -channel setting is 'RGB,sync', channels are modified together by the same gamma value, preserving colors.
Automagically adjust color levels of image.
This is a 'perfect' image normalization operator. It finds the exact -minimum and maximum color values in the image and then applies a -level operator to stretch the values to the full range of +minimum and maximum color values in the image and then applies a -level operator to stretch the values to the full range of values.
The operator is not typically used for real-life images, image scans, or JPEG format images, as a single 'out-rider' pixel can set a bad min/max values -for the -level operation. On the other hand it is the +for the -level operation. On the other hand it is the right operator to use for color stretching gradient images being used to generate Color lookup tables, distortion maps, or other 'mathematically' defined images.
-The operator is very similar to the -normalize, -contrast-stretch, and -linear-stretch operators, but without 'histogram binning' or 'clipping' -problems that these operators may have. That is -auto-level is the perfect or ideal version these operators.
+The operator is very similar to the -normalize, -contrast-stretch, and -linear-stretch operators, but without 'histogram binning' or 'clipping' +problems that these operators may have. That is -auto-level is the perfect or ideal version these operators.
-It uses the -channel setting, (including the +
It uses the -channel setting, (including the special 'sync' flag for channel synchronization), to determine -which color values are used and modified. As the default +channel setting is 'RGB,sync', the +which color values are used and modified. As the default +channel setting is 'RGB,sync', the 'sync' ensures that the color channels will are modified together by the same gamma value, preserving colors, and ignoring transparency.
adjusts an image so that its orientation is suitable for viewing (i.e. top-left orientation).
@@ -460,11 +477,12 @@ the image, for correct viewing. camera, however photos taken directly downward or upward may not have an appropriate value. Also images that have been orientation 'corrected' without reseting this setting, may be 'corrected' again resulting in a incorrect -result. If the EXIF profile was previously stripped, the -auto-orient operator will do nothing. +result. If the EXIF profile was previously stripped, the -auto-orient operator will do nothing.Average a set of images.
@@ -473,7 +491,7 @@ result. If the EXIF profile was previously stripped, the -Display the image centered on a backdrop.
@@ -484,16 +502,17 @@ specified as the background color. The color is specified using the format described under the -fill option.Set the background color.
-The color is specified using the format described under the -fill option. The default background color (if none is +
The color is specified using the format described under the -fill option. The default background color (if none is specified or found in the image) is white.
Measure performance.
@@ -513,12 +532,12 @@ second, using 4 threads and 6.88 seconds of the user's allotted time, for a total elapsed time of 5.71 seconds.Add bias when convolving an image.
-This option shifts the output of âconvolve so that +
This option shifts the output of ‑convolve so that positive and negative results are relative to the specified bias value.
This is important for non-HDRI compilations of ImageMagick when dealing @@ -527,34 +546,37 @@ especially the case with convolutions involving high pass filters or edge detection. Without an output bias, the negative values are clipped at zero.
-When using an ImageMagick with the HDRI compile-time setting, âbias is not needed, as ImageMagick is able to store/handle any +
When using an ImageMagick with the HDRI compile-time setting, ‑bias is not needed, as ImageMagick is able to store/handle any negative results without clipping to the color value range (0..QuantumRange).
-See the discussion on HDRI implementations of ImageMagick on the page High Dynamic-Range Images. For more -about HDRI go the ImageMagick Usage pages or this -Wikipedia +
See the discussion on HDRI implementations of ImageMagick on the page High Dynamic-Range Images. For more +about HDRI go the ImageMagick Usage pages or this +Wikipedia entry.
Use black point compensation.
Force to black all pixels below the threshold while leaving all pixels at or above the threshold unchanged.
The threshold value can be given as a percentage or as an absolute integer value within [0, QuantumRange] corresponding to the -desired âchannel value. See âthresholdfor more details on thresholds and resulting values.
+desired ‑channel value. See ‑thresholdfor more details on thresholds and resulting values.blend an image into another by the given absolute value or percent.
@@ -568,13 +590,13 @@ the background image is weighted by the exact opposite amount. That is aSet the blue chromaticity primary point.
simulate a scene at nighttime in the moonlight. Start with a factor of 1.5
@@ -582,30 +604,30 @@ the background image is weighted by the exact opposite amount. That is aReduce image noise and reduce detail levels.
Convolve the image with a Gaussian or normal distribution using the given -Sigma value. The formula is:
+Sigma value. The formula is: -The Sigma value is the important argument, and +
The Sigma value is the important argument, and determines the actual amount of blurring that will take place.
-The Radius is only used to determine the size of the +
The Radius is only used to determine the size of the array which will hold the calculated Gaussian distribution. It should be an integer. If not given, or set to zero, IM will calculate the largest possible radius that will provide meaningful results for the Gaussian distribution.
-The larger the Radius the slower the -operation is. However too small a Radius, and sever -aliasing effects may result. As a guideline, Radius -should be at least twice the Sigma value, though three +
The larger the Radius the slower the +operation is. However too small a Radius, and sever +aliasing effects may result. As a guideline, Radius +should be at least twice the Sigma value, though three times will produce a more accurate result.
This option differs from -gaussian-blur simply @@ -619,7 +641,7 @@ pixels which are outside the image proper are blurred into the final result.
Variably blur an image according to the overlay mapping.
@@ -628,9 +650,9 @@ pixels which are outside the image proper are blurred into the final result. Average (EWA) of the source image, scaled according to the grayscale mapping. -The ellipse is weighted with sigma set to the given Width and Height. The Height -defaults to the Width for a normal circular Gaussian -weighting. The Angle will rotate the ellipse from +
The ellipse is weighted with sigma set to the given Width and Height. The Height +defaults to the Width for a normal circular Gaussian +weighting. The Angle will rotate the ellipse from horizontal clock-wise.
The -virtual-pixel setting will determine how @@ -639,7 +661,7 @@ pixels which are outside the image proper are blurred into the final result.
Surround the image with a border of color.
@@ -651,7 +673,7 @@ ignored.As of IM 6.7.8-8, the geometry arguments behave as follows:
size | @@ -715,9 +737,11 @@ ignored.
---|
Set the border color by preceding with the -bordercolor setting.
+Set the border color by preceding with the -bordercolor setting.
-The -border operation is affected by the current -compose setting and assumes that this is using the default +
The -border operation is affected by the current -compose setting and assumes that this is using the default
'Over
' composition method. It generates an image of the appropriate
size colors by the current -bordercolor before
overlaying the original image in the center of this net image. This means that
@@ -727,7 +751,7 @@ be replaced by the current -bord
functionality.
Set the border color.
@@ -737,13 +761,13 @@ functionality.The default border color is #DFDFDF
, this shade of gray.
Set the border width.
Adjust the brightness and/or contrast of the image.
@@ -781,13 +805,13 @@ totally black. symbol is no different than leaving it off. -(This option has been replaced by the -limit option).
+(This option has been replaced by the -limit option).
Canny edge detector uses a multi-stage algorithm to detect a wide range of edges in the image.
@@ -795,7 +819,7 @@ symbol is no different than leaving it off.The thresholds range from 0 to 100% (e.g. -canny 0x1+10%+30%) with {+lower-percent} < {+upper-percent}. If {+upper-percent} is increased but {+lower-percent} remains the same, lesser edge components will be detected, but their lengths will be the same. If {+lower-percent} is increased but {+upper-percent} is the same, the same number of edge components will be detected but their lengths will be shorter. The default thresholds are shown. The radiusxsigma controls a gaussian blur applied to the input image to reduce noise and smooth the edges.
Assign a caption to an image.
@@ -804,7 +828,8 @@ symbol is no different than leaving it off. option has been given. To modify a caption of images already in memory use "-set caption
".
-The caption can contain special format characters listed in the Format and
+ The caption can contain special format characters listed in the Format and
Print Image Properties. These attributes are expanded when the caption
is finally assigned to the individual images.
For example,
-- -caption "%m:%f %wx%h" bird.miff -
++-caption "%m:%f %wx%h" bird.miff +
produces an image caption of MIFF:bird.miff 512x480
(assuming
that the image bird.miff
has a width of 512 and a height of
@@ -828,7 +853,7 @@ that the image bird.miff
has a width of 512 and a height of
color correct with a color decision list.
@@ -852,7 +877,7 @@ that the imagebird.miff
has a width of 512 and a height of
Specify those image color channels to which subsequent operators are limited.
@@ -870,20 +895,20 @@ abbreviated as a concatenation of the letters 'R
', 'G
'
For example, to only select the Red
and Blue
channels
you can either use
-- -channel Red,Blue -
++-channel Red,Blue +
or you can use the short hand form
-- -channel RB -
++-channel RB +
All the channels that are present in an image can be specified using the
special channel type All
. Not all operators are 'channel capable',
but generally any operators that are generally 'grey-scale' image operators,
will understand this setting. See individual operator documentation.
On top of the normal channel selection an extra flag can be specified,
'Sync
'. This is turned on by default and if set means that
@@ -916,15 +941,16 @@ Not all operators understands this flag at this time, but that is changing.
To print a complete list of channel types, use -list channel.
-By default, ImageMagick sets -channel to the value
'RGBK,sync
', which specifies that operators act on all color
channels except the transparency channel, and that all the color channels are
to be modified in exactly the same way, with an understanding of transparency
-(depending on the operation being applied). The 'plus' form +channel will reset the value back to this default.
Options that are affected by the -channel setting +
Options that are affected by the -channel setting include the following. -auto-gamma, @@ -954,16 +980,20 @@ include the following. -white-threshold.
-Warning, some operators behave differently when the +channel default setting is in effect, verses ANY user defined -channel setting (including the equivalent of the +
Warning, some operators behave differently when the +channel default setting is in effect, verses ANY user defined -channel setting (including the equivalent of the default). These operators have yet to be made to understand the newer 'Sync' flag.
For example -threshold will by default gray-scale -the image before thresholding, if no -channel setting +the image before thresholding, if no -channel setting has been defined. This is not 'Sync flag controlled, yet.
-Also some operators such as -blur, -gaussian-blur, will modify their handling of the
-color channels if the 'alpha
' channel is also enabled by -channel. Generally this done to ensure that
+
Also some operators such as -blur, -gaussian-blur, will modify their handling of the
+color channels if the 'alpha
' channel is also enabled by -channel. Generally this done to ensure that
fully-transparent colors are treated as being fully-transparent, and thus any
underlying 'hidden' color has no effect on the final results. Typically
resulting in 'halo' effects. The newer -morphology
@@ -972,19 +1002,20 @@ and will thus handle transparency correctly by default.
As a alpha channel is optional within images, some operators will read the color channels of an image as a greyscale alpha mask, when the image has no -alpha channel present, and the -channel setting tells -the operator to apply the operation using alpha channels. The -clut operator is a good example of this.
+alpha channel present, and the -channel setting tells +the operator to apply the operation using alpha channels. The -clut operator is a good example of this.Simulate a charcoal drawing.
Remove pixels from the interior of an image.
@@ -1001,19 +1032,21 @@ and moves the remaining corner blocks leftward and upward to close the gaps.While it can remove internal rows and columns of pixels, it is more typically used with as -gravity setting and zero -offsets so as to remove a single edge from an image. Compare this to -shave which removes equal numbers of pixels from oppisite +offsets so as to remove a single edge from an image. Compare this to -shave which removes equal numbers of pixels from oppisite sides of the image.
-Using -chop effectively undoes the results of a -splice that was given the same geometry and -gravity settings.
+Using -chop effectively undoes the results of a -splice that was given the same geometry and -gravity settings.
set each pixel whose value is below zero to zero and any the pixel whose value is above the quantum range to the quantum range (e.g. 65535) otherwise the pixel value remains unchanged.
Apply the clipping path if one is present.
@@ -1034,7 +1067,7 @@ delegate library is not present, the option is ignored.Use +clip to disable clipping for subsequent operations.
Clip the image as defined by this mask.
@@ -1045,14 +1078,14 @@ until the mask is removed. Pixels in the black areas of the clip mask are modified per the requirements of the operator.In some ways this is similar to (though not the same) as defining -a rectangular -region, or using the negative of the -mask (third) image in a three image -composite, +a rectangular -region, or using the negative of the +mask (third) image in a three image -composite, operation.
Use +clip-mask to disable clipping for subsequent operations.
Clip along a named path from the 8BIM profile.
@@ -1062,7 +1095,7 @@ operation.Use +clip-path to disable clipping for subsequent operations.
make a clone of an image (or images).
@@ -1085,7 +1118,7 @@ in the image sequence, and is thus equivalent to using a argument of 'â1
'.
Replace the channel values in the first image using each corresponding channel in the second image as a color lookup table.
@@ -1096,7 +1129,8 @@ either a single row or column image of replacement color values. If larger than a single row or column, values are taken from a diagonal line from top-left to bottom-right corners. -The lookup is further controlled by the -interpolate setting, which is especially handy for an +
The lookup is further controlled by the -interpolate setting, which is especially handy for an
LUT which is not the full length needed by the ImageMagick installed Quality
(Q) level. Good settings for this are the 'bilinear
' and
'bicubic
' interpolation settings, which give smooth color
@@ -1107,27 +1141,30 @@ lookup of color values.
Only the channel values defined by the -channel
-setting will have their values replaced. In particular, since the default -channel setting is RGB
, this means that
-transparency (alpha/matte channel) is not affected, unless the -channel setting is modified. When the alpha channel is
-set, it is treated by the -clut operator in the same way
+setting will have their values replaced. In particular, since the default -channel setting is RGB
, this means that
+transparency (alpha/matte channel) is not affected, unless the -channel setting is modified. When the alpha channel is
+set, it is treated by the -clut operator in the same way
as the other channels, implying that alpha/matte values are replaced using the
alpha/matte values of the original image.
If either the image being modified, or the lookup image, contains no -transparency (i.e. -alpha is turned 'off') but the -channel setting includes alpha replacement, then it is +transparency (i.e. -alpha is turned 'off') but the -channel setting includes alpha replacement, then it is assumed that image represents a gray-scale gradient which is used for the replacement alpha values. That is you can use a gray-scale CLUT image to adjust a existing images alpha channel, or you can color a gray-scale image using colors form CLUT containing the desired colors, including transparency.
-See also -hald-clut which replaces colors +
See also -hald-clut which replaces colors according to the lookup of the full color RGB value from a 2D representation of a 3D color cube.
Fully define the look of each frame of an GIF animation sequence, to form a 'film strip' animation.
@@ -1147,10 +1184,10 @@ better than the original. -Colorize the image by an amount specified by value using the color specified by the most recent -fill setting.
+Colorize the image by an amount specified by value using the color specified by the most recent -fill setting.
Specify the amount of colorization as a percentage. Separate colorization
values can be applied to the red, green, and blue channels of the image with
@@ -1158,7 +1195,7 @@ a comma-delimited list of colorization
values (e.g., -colorize 0,0,50
).
Define the colormap type.
@@ -1176,7 +1213,7 @@ as they are defined. However, other clients may go technicolor when the image colormap is installed.Set the preferred number of colors in the image.
@@ -1192,7 +1229,7 @@ the color reduction algorithm for more details.apply color correction to the image.
@@ -1207,16 +1244,16 @@ CMYKA images) and offsets are normalized (divide Flash offset by 255).As an example, to add contrast to an image with offsets, try this command:
- convert kittens.jpg -color-matrix \ - " 1.5 0.0 0.0 0.0, 0.0, -0.157 \ - 0.0 1.5 0.0 0.0, 0.0, -0.157 \ - 0.0 0.0 1.5 0.0, 0.0, -0.157 \ - 0.0 0.0 0.0 1.0, 0.0, 0.0 \ - 0.0 0.0 0.0 0.0, 1.0, 0.0 \ - 0.0 0.0 0.0 0.0, 0.0, 1.0" kittens.png +convert kittens.jpg -color-matrix \ + " 1.5 0.0 0.0 0.0, 0.0, -0.157 \ + 0.0 1.5 0.0 0.0, 0.0, -0.157 \ + 0.0 0.0 1.5 0.0, 0.0, -0.157 \ + 0.0 0.0 0.0 1.0, 0.0, 0.0 \ + 0.0 0.0 0.0 0.0, 1.0, 0.0 \ + 0.0 0.0 0.0 0.0, 0.0, 1.0" kittens.png
Set the image colorspace.
@@ -1224,14 +1261,14 @@ CMYKA images) and offsets are normalized (divide Flash offset by 255).Choices are:
- CMY CMYK Gray HCL - HCLp HSB HSI HSL - HSV HWB Lab LCHab - LCHuv LMS Log Luv - OHTA Rec601YCbCr Rec709YCbCr RGB - scRGB sRGB Transparent xyY - XYZ YCbCr YCC YDbDr - YIQ YPbPr YUV +CMY CMYK Gray HCL +HCLp HSB HSI HSL +HSV HWB Lab LCHab +LCHuv LMS Log Luv +OHTA Rec601YCbCr Rec709YCbCr RGB +scRGB sRGB Transparent xyY +XYZ YCbCr YCC YDbDr +YIQ YPbPr YUV
To print a complete list of colorspaces, use -list colorspace.
@@ -1338,7 +1375,7 @@ CMYKA images) and offsets are normalized (divide Flash offset by 255).Note the scRGB colorspace requires HDRI support otherwise it behaves just like linear RGB.
Combine one or more images into a single image.
@@ -1349,7 +1386,8 @@ sequence, in order. For the default -channel setting ofRGB
, this
means the first image is assigned to the Red
channel, the second
to the Green
channel, the third to the Blue
.
-This option can be thought of as the inverse to -separate, so long as the channel settings are the same. +
This option can be thought of as the inverse to -separate, so long as the channel settings are the same. Thus, in the following example, the final image should be a copy of the original.
@@ -1360,7 +1398,7 @@ convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB \Embed a comment in an image.
@@ -1369,7 +1407,8 @@ convert sepimage-0.png sepimage-1.png sepimage-2.png -channel RGB \ option has been given. To modify a comment of images already in memory use "-set comment
".
-The comment can contain special format characters listed in the Format and
+ The comment can contain special format characters listed in the Format and
Print Image Properties. These attributes are expanded when the comment
is finally assigned to the individual images.
For example,
-- -comment "%m:%f %wx%h" bird.miff -
++-comment "%m:%f %wx%h" bird.miff +
produces an image comment of MIFF:bird.miff 512x480
(assuming
that the image bird.miff
has a width of 512 and a height of
480.
mathematically and visually annotate the difference between an image and its reconstruction
@@ -1400,7 +1439,7 @@ that the imagebird.miff
has a width of 512 and a height of
This is a convert version of "compare
" for two same sized images. The syntax is as follows, but other metrics are allowed.
-convert image.png reference.png -metric RMSE -compare \
difference.png +convert image.png reference.png -metric RMSE -compare \
difference.png
To get the metric value use the string format "%[distortion]".
@@ -1411,7 +1450,7 @@ convert image.png reference.png -metric RMSE -compare -format \perform complex mathematics on an image sequence
@@ -1419,19 +1458,19 @@ convert image.png reference.png -metric RMSE -compare -format \ Choose from these operators:- add - conjugate - divide - magnuitude-phase - multiply - real-imaginary - subtract +add +conjugate +divide +magnuitude-phase +multiply +real-imaginary +subtract
Optionally specify the divide
operator SNR with -define complex:snr=float
.
Set the type of image composition.
@@ -1456,14 +1495,15 @@ command.Perform alpha composition on two images and an optional mask
Take the first image 'destination' and overlay the second 'source' image according to the current -compose setting. The location -of the 'source' or 'overlay' image is controlled according to -geometry, and -geometry +of the 'source' or 'overlay' image is controlled according to -geometry, and -geometry settings.
If a third image is given this is treated as a gray-scale blending 'mask' image
@@ -1472,23 +1512,29 @@ source image. However for the 'displace
' compose method, the
mask is used to provide a separate Y-displacement image instead.
If a -compose method requires extra numerical
-arguments or flags these can be provided by setting the -set 'option:compose:args
'
+arguments or flags these can be provided by setting the -set 'option:compose:args
'
appropriately for the compose method.
Some -compose methods can modify the 'destination'
-image outside the overlay area. You can disable this by setting the special -set 'option:compose:outside-overlay
'
+image outside the overlay area. You can disable this by setting the special -set 'option:compose:outside-overlay
'
to 'false
'.
The SVG compositing specification requires that color and opacity values range between zero and QuantumRange inclusive. You can permit values outside this range with this option: -set 'option:compose:clamp=false
Use pixel compression specified by type when writing the image.
-Choices are: None
, BZip
, Fax
, Group4
, JPEG
, JPEG2000
, Lossless
, LZW
, RLE
or Zip
.
Choices are: None
, BZip
, Fax
, Group4
, JPEG
, JPEG2000
, Lossless
, LZW
, RLE
or Zip
.
To print a complete list of compression types, use -list compress.
@@ -1521,15 +1567,15 @@ sampling factor to be used by JPEG, MPEG, and YUV encoders for down-sampling the chroma channels.connected-components uniquely labeled, choose from 4 or 8 way connectivity.
-Use -define connected-components:verbose=true
to output statistics associated with each unique label.
Use -define connected-components:verbose=true
to output statistics associated with each unique label.
Enhance or reduce the image contrast.
@@ -1546,20 +1592,22 @@ convert rose: -contrast -contrast rose_c2.pngIncrease the contrast in an image by stretching the range of intensity values.
While performing the stretch, black-out at most black-point pixels and white-out at most white-point pixels. Or, if percent is used, black-out at most -black-point % pixels and white-out at most white-point % pixels.
+black-point % pixels and white-out at most white-point % pixels. -Prior to ImageMagick 6.4.7-0, -contrast-stretch will black-out at most black-point pixels and white-out at most total pixels
+ Prior to ImageMagick 6.4.7-0, -contrast-stretch will black-out at most black-point pixels and white-out at most total pixels
minus white-point pixels. Or, if percent is used, black-out at most black-point % pixels and white-out at most 100% minus white-point % pixels. Note that Internally operator works by creating a histogram bin, and then uses that
@@ -1567,18 +1615,18 @@ bin to modify the image. As such some colors may be merged together when they
originally fell into the same 'bin'. All the channels are normalized in concert by the came amount so as to
-preserve color integrity, when the default +channel
-setting is in use. Specifying any other -channel
+preserve color integrity, when the default +channel
+setting is in use. Specifying any other -channel
setting will normalize the RGB channels independently. See also -auto-level for a 'perfect'
+ See also -auto-level for a 'perfect'
normalization of mathematical images. This operator is under review for re-development. Convolve an image with a user-supplied convolution kernel.-contrast-stretch 0
will modify the image such that
the image's min and max values are stretched to 0 and QuantumRange, respectively, without any loss of data due to burn-out or
-clipping at either end. This is not the same as -normalize, which is equivalent to -contrast-stretch 0.15x0.05%
(or
+clipping at either end. This is not the same as -normalize, which is equivalent to -contrast-stretch 0.15x0.05%
(or
prior to ImageMagick 6.4.7-0, -contrast-stretch 2%x99%
).
Note that the âconvolve operator supports the âbias setting. This option shifts the convolution so that +
Note that the ‑convolve operator supports the ‑bias setting. This option shifts the convolution so that positive and negative results are relative to a user-specified bias value. This is important for non-HDRI compilations of ImageMagick when dealing with convolutions that contain negative as well as positive values. This is @@ -1597,16 +1645,18 @@ especially the case with convolutions involving high pass filters or edge detection. Without an output bias, the negative values is clipped at zero.
-When using an ImageMagick with the HDRI compile-time setting, âbias is not needed, as ImageMagick is able to store/handle any +
When using an ImageMagick with the HDRI compile-time setting, ‑bias is not needed, as ImageMagick is able to store/handle any negative results without clipping to the color value range (0..QuantumRange). -See the discussion on HDRI implementations of ImageMagick on the page High -Dynamic-Range Images. For more about HDRI go the ImageMagick Usage pages or this +See the discussion on HDRI implementations of ImageMagick on the page High +Dynamic-Range Images. For more about HDRI go the ImageMagick Usage pages or this Wikipedia entry.
Cut out one or more rectangular regions of the image.
@@ -1626,7 +1676,8 @@ the cropping region measured downward and rightward with respect to the upper left corner of the image. If the -gravity option is present withNorthEast
, East
, or SouthEast
gravity, it gives the distance leftward from the right edge of the image to
-the right edge of the cropping region. Similarly, if the -gravity option is present with SouthWest
,
+the right edge of the cropping region. Similarly, if the -gravity option is present with SouthWest
,
South
, or SouthEast
gravity, the distance is measured
upward between the bottom edges.
@@ -1647,17 +1698,17 @@ relative top left corner of the region cropped.
special single pixel transparent 'missed' image is returned, and a 'crop
missed' warning given.
-It might be necessary to +repage the image prior to +
It might be necessary to +repage the image prior to cropping the image to ensure the crop coordinate frame is relocated to the upper-left corner of the visible image. -Similarly you may want to use +repage after cropping to +Similarly you may want to use +repage after cropping to remove the page offset that will be left behind. This is especially true when you are going to write to an image format such as PNG that supports an image offset.
displace image colormap by amount.
@@ -1667,7 +1718,7 @@ colormap entry is shifted.enable debug printout.
@@ -1699,30 +1750,33 @@ output.Use +debug to turn off all logging.
-Debugging may also be set using the MAGICK_DEBUG
environment variable. The allowed values for the MAGICK_DEBUG
+
Debugging may also be set using the MAGICK_DEBUG
environment variable. The allowed values for the MAGICK_DEBUG
environment variable are the same as for the -debug
option.
Decipher and restore pixels that were previously transformed by -encipher.
Get the passphrase from the file specified by filename.
-For more information, see the webpage, ImageMagick: Encipher or
+ For more information, see the webpage, ImageMagick: Encipher or
Decipher an Image. find areas that has changed between images Given a sequence of images all the same size, such as produced by -coalesce, replace the second and later images, with
+ Given a sequence of images all the same size, such as produced by -coalesce, replace the second and later images, with
a smaller image of just the area that changed relative to the previous image.
compare-any
'.
add specific global settings generally used to control coders and image processing operations.
@@ -1743,7 +1797,8 @@ method 'compare-any
'.
This option creates one or more definitions for coders and decoders to use
while reading and writing image data. Definitions are generally used to
control image file format coder modules, and image processing operations,
-beyond what is provided by normal means. Defined settings are listed in -verbose information ("info:
" output format)
+beyond what is provided by normal means. Defined settings are listed in -verbose information ("info:
" output format)
as "Artifacts".
If value is missing for a definition, an empty-valued @@ -1752,7 +1807,8 @@ options. Use +define key to remo previously created. Use +define "*" to remove all existing definitions.
-The same 'artifact' settings can also be defined using the -set "option:key" "value" option, which also allows the use of Format and Print Image
+ The same 'artifact' settings can also be defined using the -set "option:key" "value" option, which also allows the use of Format and Print Image
Properties in the defined value. The option and key are case-independent (they are
@@ -1764,23 +1820,31 @@ is case-dependent. The following definitions are just some of the artifacts that are
available: The value can be the name of a PNG chunk-type such
as bKGD, a comma-separated list of chunk-names
@@ -2008,7 +2159,7 @@ available: As a special case, if the The default behavior is to include all known PNG ancillary chunks
@@ -2050,16 +2201,20 @@ available: You can also put For example, to create a postscript file that will render only the black
pixels of a bilevel image, use:
-
-
+
+
-bmp:format=value
+ valid values are bmp2, bmp3,
and bmp4. This option can be useful when the
method of prepending "BMP2:" to the output filename is inconvenient or
- is not available, such as when using the mogrify utility.
+ is not available, such as when using the mogrify utility.
+
+
-complex:snr=value
+ Set the divide SNR constant-complex
+
+
-compose:args=arguments
+ Sets certain compose argument values when using convert ... -compose ...
+ -composite. See Image Composition
+
+
-convolve:scale={kernel_scale}[!^] [,{origin_addition}] [%]
+ Defines the kernel scaling. The special flag ! automatically scales to
full dynamic range. The ! flag can be used in combination with a factor or
percent. The factor or percent is then applied after the automatic scaling.
An example is 50%!. This produces a result 50% darker than full dynamic
@@ -1790,148 +1854,224 @@ available:
pixel of the kernel. This produces and effect that is like adding the image
that many times to the result of the filtered image. The typical value
is 1 so that the original image is added to the result of the convolution.
- The default is 0.
+ The default is 0.
+
+
-convolve:showkernel=1
+ Outputs (to 'standard error') all the information about a specified -morphology convolve kernel.
+
+
-dcm:display-range=reset
+ Sets the display range to the minimum and maximum pixel values for the
+ DCM image format.
+
+
-dds:cluster-fit=true|false
+ Enables the dds cluster-fit.
+
+
-dds:compression=dxt1|dxt5|none
+ Sets the dds compression.
+
+
-dds:mipmaps=value
+ Sets the dds number of mipmaps.
+
+
-dds:weight-by-alpha=true|false
+ Enables the dds alpha weighting.
+
+
-delegate:bimodal=true
+ Specifies direct conversion from Postscript to PDF.
+
+
-distort:scale=value
+ Sets the output scaling factor for use with -distort
+
+
-distort:viewport=WxH+X+Y
+ Sets the viewport for use with -distort
+ neato
).
+
-dot:layout-engine=value
+ Specifies the layout engine for the DOT image format (e.g.
+
+ neato
).
+
-filter:option=value
+ Set a filter option for use with -resize.
+ See -filter for details.
+
+
-fourier:normalize=inverse
+ Sets the location for the FFT/IFT normalization as use by
+-fft and +-ift. The default is
- forward.
+ forward.
+
+
-icon:auto-resize
+ Automatically stores multiple sizes when writing an ico image
+ (requires a 256x256 input image).
+
+
-jp2:layer-number=value
+ Sets the maximum number of quality layers to decode. Same for JPT, JC2,
+ and J2K
+
+
-jp2:number-resolutions=value
+ Sets the number of resolutions to encode.Same for JPT, JC2, and J2K
+
+
-jp2:progression-order=value
+ choose from LRCP, RLCP, RPCL, PCRL or CPRL. Same for JPT, JC2, and
+ J2K
+
+
-jp2:quality=value,value...
+ Sets the quality layer PSNR, given in dB. The order is from left to
right in ascending order. The default is a single lossless quality layer.
- Same for JPT, JC2, and J2K
+ Same for JPT, JC2, and J2K
+
+
-jp2:rate=value
+ 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. A quality setting of 75
- results in a rate value of 0.06641. Same for JPT, JC2, and J2K
+ results in a rate value of 0.06641. Same for JPT, JC2, and J2K
+
+
-jp2:reduce-factor=value
+ Sets the number of highest resolution levels to be discarded.Same for
+ JPT, JC2, and J2K
+
+ jpeg:block-smoothing=on|off
-
+
-jpeg:colors=value
+ Set the desired number of colors and let the JPEG encoder do the
+ quantizing.
+ default
, fastest
,
- float
, ifast
, and islow
.
+
-jpeg:dct-method=value
+ Choose from
+ default
, fastest
,
+ float
, ifast
, and islow
.-define
+
+
-jpeg:extent=value
+ Restrict the maximum JPEG file size, for example
+ -define
jpeg:extent=400KB
. The JPEG encoder will search for the highest
compression quality level that results in an output file that does not
exceed the value. The -quality
option is ignored if it
- is also present.
+ is also present.
+ jpeg:fancy-upsampling=on|off
-
+ jpeg:optimize-coding=on|off
-
+ jpeg:q-table=table
-
+ jpeg:sampling-factor=sampling-factor-string
-
+
-jpeg:size=geometry
+ Set the size hint of a JPEG image, for
example,
+ -define jpeg:size=128x128
.
It is most useful for increasing performance and reducing the memory
- requirements when reducing the size of a large JPEG image.
+ requirements when reducing the size of a large JPEG image.
+
-json:features
+ includes features in verbose information
+
+ json:limit
-
+ json:locate
-
+
-json:moments
+ includes image moments in verbose information
+
+
-mng:need-cacheoff
+ turn playback caching off for streaming MNG.
+
+
-morphology:compose=compose-method
+ Specifies how to merge results generated by multiple-morphology kernel. The default is none. One
typical value is 'lighten' as used, for example, with the sobel edge
- kernels.
+ kernels.
+
+
-morphology:showkernel=1
+ Outputs (to 'standard error') all the information about a generated -morphology kernel.
+
+ pcl:fit-to-page=true
-
+
-pdf:fit-page=geometry
+ geometry specifies the scaling dimensions for resizing when the PDF is
being read. The geometry is either WxH{%} or page size. No offsets are
- allowed. (introduced in IM 6.8.8-8)
+ allowed. (introduced in IM 6.8.8-8)
+
+ pdf:fit-to-page=true
-
+ pdf:use-cropbox=true
-
+ pdf:use-trimbox=true
-
+ png:bit-depth=value
+
+
-png:color-type=value
+ desired bit-depth and color-type for PNG output. You can force the PNG
encoder to use a different bit-depth and color-type than it would have
normally selected, but only if this does not cause any loss of image
quality. Any attempt to reduce image quality is treated as an error and no
@@ -1944,28 +2084,36 @@ available:
reduce the image quality prior to using the PNG encoder. Note that in
indexed PNG files, "bit-depth" refers to the number of bits per index,
which can be 1, 2, 4, or 8. In such files, the color samples always have
- 8-bit depth.
+ 8-bit depth.
+
+
-png:compression-filter=value
+ valid values are 0 through 9. 0-4 are the corresponding PNG filters,
5 means adaptive filtering except for images with a colormap, 6 means
adaptive filtering for all images, 7 means MNG "loco" compression, 8 means
Z_RLE strategy with adaptive filtering, and 9 means Z_RLE strategy with no
- filtering.
+ filtering.
+
+
-png:compression-level=value
+ valid values are 0 through 9, with 0 providing the least but fastest
+ compression and 9 usually providing the best and always the slowest.
+
+
-png:compression-strategy=value
+ valid values are 0 through 4, meaning default, filtered, huffman_only,
rle, and fixed ZLIB compression strategy. If you are using an old zlib
that does not support Z_RLE (before 1.2.0) or Z_FIXED (before 1.2.2.2),
values 3 and 4, respectively, will use the zlib default strategy
- instead.
+ instead.
+
+
-png:format=value
+ valid values are png8, png24,
png32, png48,
png64, and png00.
This property can be useful for specifying
@@ -1983,12 +2131,15 @@ available:
written in a PNG
+ tRNS
chunk.
Value = png00 causes the image to inherit its
color-type and bit-depth from the input image, if the input was also
- a PNG.
+ a PNG.
+ png:exclude-chunk=value
-
+
-png:include-chunk=value
+ ancillary chunks to be excluded from or included in PNG output.
+
- -define png:include-chunk=none,gAMA
+-define png:include-chunk=none,gAMA
sRGB
chunk is not excluded and
@@ -2032,7 +2183,7 @@ available:
- -define png:exclude-chunk=EXIF,iCCP,iTXt,sRGB,tEXt,zCCP,zTXt,date
+-define png:exclude-chunk=EXIF,iCCP,iTXt,sRGB,tEXt,zCCP,zTXt,date
date
in the list to include or exclude
the "Date:create" and "Date:modify" text chunks that ImageMagick normally
- inserts in the output PNG.
+
-png:preserve-colormap[=true]
+ Use the existing image->colormap. Normally the PNG encoder will
try to optimize the palette, eliminating unused entries and putting
the transparent colors first. If this flag is set, that behavior
- is suppressed.
+ is suppressed.
+
+
-png:preserve-iCCP[=true]
+ By default, the PNG decoder and encoder examine any ICC profile
that is present, either from an
+ iCCP
chunk in the PNG
input or supplied via an option, and if the profile is recognized
to be the sRGB profile, converts it to the sRGB
chunk.
@@ -2071,69 +2226,99 @@ available:
profiles are recognized anyhow and converted to the sRGB
chunk, but are rejected if the -define png:preserve-iCCP
is present. Note that not all "sRGB" ICC profiles are recognized
- yet; we will add them to the list as we encounter them.
+ yet; we will add them to the list as we encounter them.
+
-png:swap-bytes[=true]
+ The PNG specification requires that any multi-byte integers be stored in
network byte order (MSB-LSB endian). This option allows you to
fix any invalid PNG files that have 16-bit samples stored incorrectly
in little-endian order (LSB-MSB). The "-define png:swap-bytes" option
must appear before the input filename on the commandline. The swapping
- is done during the libpng decoding operation.
+ is done during the libpng decoding operation.
+
+
-profile:skip=name1,name2,...
+ Skip the named profile[s] when reading the image. Use skip="*" to
skip all named profiles in the image. Many named profiles exist,
- including ICC, EXIF, APP1, IPTC, XMP, and others.
+ including ICC, EXIF, APP1, IPTC, XMP, and others.
+
+
-ps:imagemask
+ 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.
+ operator instead of the image operator.
+ floating-point
to specify a floating-point
+
+
-quantum:format=type
+ Set the type to
+ floating-point
to specify a floating-point
format for raw files (e.g. GRAY:) or for MIFF and TIFF images in HDRI mode
to preserve negative values. If -depth 16 is
included, the result is a single precision floating point format.
If -depth 32 is included, the result is
- double precision floating point format.
+ double precision floating point format.
+
-quantum:polarity=photometric-interpretation
+ Set the photometric-interpretation of an image (typically for TIFF image
file format) to either
+ min-is-black
(default) or
- min-is-white
.
+ min-is-white
.
+
-sample:offset=geometry
+ Location of the sampling point within the sub-region being sampled,
+ expressed as percentages (see -sample).
+
+
-showkernel=1
+ Outputs (to 'standard error') all the information about a generated -morphology kernel.
+
+
-stream:buffer-size=value
+ Set the stream buffer size. Select 0 for unbuffered I/O.
+
+
-tiff:alpha=associated|unassociated|unspecified
+ Specify the alpha extra samples as associated, unassociated or unspecified
+
+ tiff:endian=msb|lsb
-
+
-tiff:exif-properties=false
+ Skips reading the EXIF properties.
+
+ tiff:fill-order=msb|lsb
-
+
-tiff:ignore-tags=comma-separate-list-of-tag-IDs
+ Allows one or more tag ID values to be ignored.
+
+
-tiff:rows-per-strip=value
+ Sets the number of rows per strip
+
+
+tiff:tile-geometry=WxH
+ Sets the tile size for pyramid tiffs. Requires the suffix
+ PTIF: before the outputname
+ registry:
. For example, to set a temporary path to put work files,
use:
+
-define registry:temporary-path=/data/tmp - +
display the next image after pausing.
@@ -2172,7 +2357,7 @@ a file redirection.delete the images specified by index, from the image sequence.
@@ -2185,7 +2370,7 @@ a dash (e.g. 0-4). Separate indexes with a comma (e.g. 0,2). UseSet the horizontal and vertical resolution of an image for rendering to devices.
@@ -2194,7 +2379,8 @@ a dash (e.g. 0-4). Separate indexes with a comma (e.g. 0,2). Use 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 -units option may be used to select dots per centimeter +raster image. The default unit of measure is in dots per inch (DPI). The -units option may be used to select dots per centimeter instead.The default resolution is 72 dots per inch, which is equivalent to one @@ -2218,7 +2404,7 @@ to the pixels. To resize the image so that it is the same size at a different resolution, use the -resample option.
depth of the image.
@@ -2228,13 +2414,13 @@ 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.obtain image by descending window hierarchy.
straighten an image. A threshold of 40% works for most images.
@@ -2244,173 +2430,919 @@ or CMYK, or to change the depth of any image after it has been read. width of the image background (e.g 40). + +reduce the speckles within an image.
+ + + +render text right-to-left or left-to-right.
+ + + +shift image pixels as defined by a displacement map.
+ +With this option, the 'overlay' image, and optionally the 'mask' image, +is used as a displacement map, which is used to displace the lookup of +what part of the 'background' image is seen at each point of the overlaid +area. Much like the displacement map is a 'lens' that redirects light shining +through it so as to present a distorted view the original 'background' image +behind it.
+ +Any perfect grey areas of the displacement map produce a zero +displacement of the image. Black areas produce the given maximum negative +displacement of the lookup point, while white produce a maximum positive +displacement of the lookup.
+ +Note that it is the lookup of the 'background' that is displaced, not a +displacement of the image itself. As such an area of the displacement map +containing 'white' will have the lookup point 'shifted' by a positive amount, +and thus generating a copy of the destination image to the right/downward from +the correct position. That is the image will look like it may have been +'shifted' in a negative left/upward direction. Understanding this is a very +important in understanding how displacement maps work.
+ +The given arguments define the maximum amount of displacement in pixels +that a particular map can produce. If the displacement scale is large enough +it is also possible to lookup parts of the 'background' image that lie well +outside the bounds of the displacement map itself. That is you could very +easily copy a section of the original image from outside the overlay area +into the overlay area.
+ +The '%' flag makes the displacement scale relative to the size of the +overlay image (100% = half width/height of image). Using '!' switches +percentage arguments to refer to the destination image size instead. +these flags were added as of IM v6.5.3-5.
+ +Normally a single grayscale displacement map is provided, which with the +given scaling values will determine a single direction (vector) in which +displacements can occur (positively or negatively). However, if you also +specify a third image which is normally used as a mask, +the composite image is used for horizontal X +displacement, while the mask image is used for vertical Y +displacement. This allows you to define completely different displacement +values for the X and Y directions, and allowing you to lookup any point within +the scale bounds. In other words each pixel can lookup +any other nearby pixel, producing complex 2 dimensional displacements, rather +than a simple 1 dimensional vector displacements.
+ +Alternatively rather than supplying two separate images, as of IM v6.4.4-0, +you can use the 'red' channel of the overlay image to specify the horizontal +or X displacement, and the 'green' channel for the vertical or Y displacement. +
+ +As of IM v6.5.3-5 any alpha channel in the overlay image is used as a +mask the transparency of the destination image. However areas outside the +overlaid areas will not be effected.
+ + + + +Specifies the X server to contact.
+ +This option is used with convert for obtaining image or font from this +X server. See X(1).
+ + + +define the GIF disposal image setting for images that are being created or read in.
+ +The layer disposal method defines the way each the displayed image is to be +modified after the current 'frame' of an animation has finished being +displayed (after its 'delay' period), but before the next frame on an +animation is to be overlaid onto the display.
+ +Here are the valid methods:
+ +none
').You can also use the numbers given above, which is what the GIF format +uses internally to represent the above settings.
+ +To print a complete list of dispose methods, use -list dispose.
+ +Use +dispose, turn off the setting and prevent +resetting the layer disposal methods of images being read in.
+ +Use -set 'dispose
' method to set the image
+disposal method for images already in memory.
maximum RMSE for subimage match (default 0.2).
+ + + + +dissolve 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. If src_percent
+is greater than 100, start dissolving the main image so it becomes
+transparent at a value of '200
'. If both percentages
+are given, each image are dissolved to the percentages given.
Note that dissolve percentages do not add, two opaque images dissolved +'50,50', produce a 75% transparency. For a 50% + 50% blending of the two +images, you would need to use dissolve values of '50,100'.
+ + + +distort an image, using the given method and its required arguments.
+ +The arguments is a single string containing a list +of floating point numbers separated by commas or spaces. The number of +and meaning of the floating point values depends on the distortion method being used.
+ +Choose from these distortion types:
+ +Method | +Description | +||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ScaleRotateTranslate
+ or SRT |
+
+ Distort image by first scaling and rotating about a given 'center',
+ before translating that 'center' to the new location, in that order. It
+ is an alternative method of specifying a 'Affine ' type of
+ distortion, but without shearing effects. It also provides a good way
+ of rotating and displacing a smaller image for tiling onto a larger
+ background (IE 2-dimensional animations). + + The number of arguments determine the specific meaning of each + argument for the scales, rotation, and translation operations. + +
Affine ' or 'AffineProjection ' distortion. | ||||||||||||
Affine |
+
+ Distort the image linearly by moving a list of at least 3 or more sets
+ of control points (as defined below). Ideally 3 sets or 12 floating
+ point values are given allowing the image to be linearly scaled,
+ rotated, sheared, and translated, according to those three points. See
+ also the related 'AffineProjection ' and 'SRT '
+ distortions. + + More than 3 sets given control point pairs (12 numbers) is least + squares fitted to best match a linear affine distortion. If only 2 + control point pairs (8 numbers) are given a two point image translation + rotation and scaling is performed, without any possible shearing, + flipping or changes in aspect ratio to the resulting image. If only one + control point pair is provides the image is only translated, (which may + be a floating point non-integer translation). + + This distortion does not include any form of perspective distortion. + |
+
+ ||||||||||||
AffineProjection |
+
+ Linearly distort an image using the given Affine Matrix of 6
+ pre-calculated coefficients forming a set of Affine Equations to map
+ the source image to the destination image.
+
+
+ sx, rx,
+ ry, sy,
+ tx, ty
+
+
+ See -affine setting for more detail, and
+ meanings of these coefficients. + + The distortions ' Affine ' and 'SRT ' provide
+ alternative methods of defining this distortion, with ImageMagick doing
+ the calculations needed to generate the required coefficients. You can
+ see the internally generated coefficients, by using a -verbose setting with those other variants. |
+
+ ||||||||||||
BilinearForward + BilinearReverse |
+
+ Bilinear Distortion, given a minimum of 4 sets of coordinate pairs, or
+ 16 values (see below). Not that lines may not appear straight after
+ distortion, though the distance between coordinates will remain
+ consistent. + + The ' BilinearForward ' is used to map rectangles to any
+ quadrilateral, while the 'BilinearReverse ' form maps any
+ quadrilateral to a rectangle, while preserving the straight line edges
+ in each case. + + Note that ' BilinearForward ' can generate invalid pixels
+ which will be colored using the -mattecolor
+ color setting. Also if the quadrilateral becomes 'flipped' the image
+ may disappear. + + There are future plans to produce a true Bilinear distortion that will + attempt to map any quadrilateral to any other quadrilateral, while + preserving edges (and edge distance ratios). + + |
+ ||||||||||||
Perspective |
+
+ Perspective distort the images, using a list of 4 or more sets of
+ control points (as defined below). More that 4 sets (16 numbers) of
+ control points provide least squares fitting for more accurate
+ distortions (for the purposes of image registration and panorama
+ effects). Less than 4 sets will fall back to a 'Affine '
+ linear distortion. + + Perspective Distorted images ensures that straight lines remain + straight, but the scale of the distorted image will vary. The horizon + is anti-aliased, and the 'sky' color may be set using the + -mattecolor setting. |
+ ||||||||||||
PerspectiveProjection |
+
+ Do a 'Perspective ' distortion biased on a set of 8
+ pre-calculated coefficients. You can get these coefficients by looking
+ at the -verbose output of a
+ 'Perspective ' distortion, or by calculating them yourself.
+ If the last two perspective scaling coefficients are zero, the
+ remaining 6 represents a transposed 'Affine Matrix'. |
+
+ ||||||||||||
Arc |
+
+ Arc the image (variation of polar mapping) over the angle given around
+ a circle. +
+ + This a variation of a polar distortion designed to try to preserve the + aspect ratio of the image rather than direct Cartesian to Polar + conversion. |
+ ||||||||||||
Polar |
+
+ Like 'Arc ' but do a complete Cartesian to Polar mapping of
+ the image. that is the height of the input image is mapped to the
+ radius limits, while the width is wrapped around between the
+ angle limits. + + Arguments: Rmax,Rmin CenterX,CenterY, start,end_angle + + All arguments are optional. With Rmin defaulting to zero, the + center to the center of the image, and the angles going from -180 (top) + to +180 (top). If Rmax is given the special value of + ' 0 ', the the distance from the center to the nearest edge
+ is used for the radius of the output image, which will ensure the whole
+ image is visible (though scaled smaller). However a special value of
+ '-1 ' will use the distance from the center to the furthest
+ corner, This may 'clip' the corners from the input rectangular image,
+ but will generate the exact reverse of a 'DePolar ' with
+ the same arguments. + + If the plus form of distort (+distort) is used + output image center will default to 0,0 of the virtual
+ canvas, and the image size adjusted to ensure the whole input image is
+ made visible in the output image on the virtual canvas. |
+
+ ||||||||||||
DePolar |
+
+ Uses the same arguments and meanings as a 'Polar ' distortion
+ but generates the reverse Polar to Cartesian distortion. + + The special Rmax setting of ' 0 ' may however clip
+ the corners of the input image. However using the special
+ Rmax setting of '-1 ' (maximum center to corner
+ distance) will ensure the whole distorted image is preserved in the
+ generated result, so that the same argument to 'Polar ' will
+ reverse the distortion re-producing the original.
+
+ Note that as this distortion requires the area resampling of a circular
+ arc, which can not be handled by the builtin EWA resampling function.
+ As such the normal EWA filters are turned off. It is recommended some
+ form of 'super-sampling' image processing technique be used to produce
+ a high quality result. |
+
+ ||||||||||||
Barrel |
+
+ Given the four coefficients (A,B,C,D) as defined by Helmut
+ Dersch, perform a barrel or pin-cushion distortion appropriate to
+ correct radial lens distortions. That is in photographs, make straight
+ lines straight again. + + Arguments: A B C [ D [ + X , Y ] ] + or Ax Bx Cx Dx + Ay By Cy Dy + [ X , Y ] + So that it forms the function + Rsrc = r * ( A*r3 + B*r2 + + C*r + D ) + + Where X,Y is the optional center of the distortion + (defaulting to the center of the image). + The second form is typically used to distort images, rather than + correct lens distortions. + |
+
+ ||||||||||||
BarrelInverse |
+
+ This is very similar to 'Barrel ' with the same set of
+ arguments, and argument handling. However it uses the inverse
+ of the radial polynomial,
+ so that it forms the function + Rsrc = r / ( A*r3 + B*r2 + + C*r + D ) + Note that this is not the reverse of the ' Barrel '
+ distortion, just a different barrel-like radial distortion method.
+
+ |
+ ||||||||||||
Shepards |
+
+ Distort the given list control points (any number) using an Inverse
+ Squared Distance Interpolation Method (Shepards
+ Method). The control points in effect do 'localized' displacement
+ of the image around the given control point (preserving the look and
+ the rotation of the area near the control points. For best results
+ extra control points should be added to 'lock' the positions of the
+ corners, edges and other unchanging parts of the image, to prevent
+ their movement. + + The distortion has been likened to 'taffy pulling' using nails, or + pins' stuck in a block of 'jelly' which is then moved to the new + position, distorting the surface of the jelly. + + Internally it is equivalent to generating a displacement map (see -displace) for source image color look-up using + the -sparse-color method of the same name. + + |
+
To print a complete list of distortion methods, use -list +distort.
+ +Many of the above distortion methods such as 'Affine
',
+'Perspective
', and 'Shepards
' use a list control points
+defining how these points in the given image should be distorted in the
+destination image. Each set of four floating point values represent a source
+image coordinate, followed immediately by the destination image coordinate.
+This produces a list of values such as...
where U,V on the source image is mapped to X,Y on the +destination image.
+ +For example, to warp an image using 'perspective
' distortion,
+needs a list of at least 4 sets of coordinates, or 16 numbers. Here is the
+perspective distortion of the built-in "rose:" image. Note how spaces were
+used to group the 4 sets of coordinate pairs, to make it easier to read and
+understand.
+convert rose: -virtual-pixel black \ + -distort Perspective '0,0,0,0 0,45,0,45 69,0,60,10 69,45,60,35' \ + rose_3d_rotated.gif" ++ +
If more that the required number of coordinate pairs are given for
+a distortion, the distortion method is 'least squares' fitted to produce the
+best result for all the coordinate pairs given. If less than the ideal number
+of points are given, the distort will generally fall back to a simpler form of
+distortion that can handles the smaller number of coordinates (usually a linear
+'Affine
' distortion).
By using more coordinates you can make use of image registration tool to +find matching coordinate pairs in overlapping images, so as to improve the +'fit' of the distortion. Of course a bad coordinate pair can also make the +'fit' worse. Caution is always advised.
+ +Colors are acquired from the source image according to a cylindrical
+resampling -filter, using a special technique known as
+EWA resampling. This produces very high quality results, especially when
+images become smaller (minified) in the output, which is very common when
+using 'perspective
' distortion. For example here we view
+a infinitely tiled 'plane' all the way to the horizon.
+convert -size 90x90 pattern:checkerboard -normalize -virtual-pixel tile \ + -distort perspective '0,0,5,45 89,0,45,46 0,89,0,89 89,89,89,89' \ + checks_tiled.jpg ++ +
Note that a infinitely tiled perspective images involving the horizon can
+be very slow, because of the number of pixels that are compressed to generate
+each individual pixel close to the 'horizon'. You can turn off EWA
+resampling, by specifing the special -filter setting of
+'point
' (recommended if you plan to use super-sampling instead).
+
If an image generates invalid pixels, such as the 'sky' in the last +example, -distort will use the current -mattecolor setting for these pixels. If you do not +what these pixels to be visible, set the color to match the rest of the +ground.
+ +The output image size will by default be the same as the input image. This +means that if the part of the distorted image falls outside the viewed area of +the 'distorted space', those parts is clipped and lost. However if you use +the plus form of the operator (+distort) the operator +will attempt (if possible) to show the whole of the distorted image, while +retaining a correct 'virtual canvas' offset, for image layering. This offset +may need to be removed using +repage, to remove if it +is unwanted.
+ +Setting -verbose setting, will cause -distort to attempt to output the internal coefficients, +and the -fx equivalent to the distortion, for expert study, +and debugging purposes. This many not be available for all distorts.
+ +You can alternatively specify a special "-define distort:viewport={geometry_string}
" setting which will
+specify the size and the offset of the generated 'viewport' image of the
+distorted image space.
Setting a "-define
+distort:scale={scale_factor}
" will scale the output image (viewport or
+otherwise) by that factor without changing the viewed contents of the
+distorted image. This can be used either for 'super-sampling' the image for
+a higher quality result, or for panning and zooming around the image (with
+appropriate viewport changes, or post-distort cropping and resizing).
Setting "-define resample:verbose=1
"
+will output the cylindrical filter lookup table created by the EWA (Elliptical
+Weighted Average) resampling algorithm. Note this table uses a squared radius
+lookup value. This is typically only used for debugging EWA resampling.
launch a distributed pixel cache server.
+ + + +Apply a Riemersma or Floyd-Steinberg error diffusion dither to +images when general color reduction is applied via an option, or automagically +when saving to specific formats. This enabled by default.
+ +Dithering places two or more colors in neighboring pixels so that to the +eye a closer approximation of the images original color is reproduced. This +reduces the number of colors needed to reproduce the image but at the cost of +a lower level pattern of colors. Error diffusion dithers can use any set of +colors (generated or user defined) to an image.
+ +Dithering is turned on by default, to turn it off use the plus form of the +setting, +dither. This will also also render PostScript +without text or graphic aliasing. Disabling dithering often (but not always) +leads to faster process, a smaller number of colors, but more cartoon like +image coloring. Generally resulting in 'color banding' effects in areas with +color gradients.
+ +The color reduction operators -colors, -monochrome, -remap, and -posterize, apply dithering to images using the reduced
+color set they created. These operators are also used as part of automatic
+color reduction when saving images to formats with limited color support, such
+as GIF:
, XBM:
, and others, so dithering may also be used
+in these cases.
Alternatively you can use -random-threshold +to generate purely random dither. Or use -ordered-dither to apply threshold mapped dither +patterns, using uniform color maps, rather than specific color maps.
+ + + + +Annotate an image with one or more graphic primitives.
+ +Use this option to annotate or decorate an image with one or more graphic +primitives. The primitives include shapes, text, transformations, and pixel +operations.
+ +The shape primitives:
+ ++point x,y +line x0,y0 x1,y1 +rectangle x0,y0 x1,y1 +roundRectangle x0,y0 x1,y1 wc,hc +arc x0,y0 x1,y1 a0,a1 +ellipse x0,y0 rx,ry a0,a1 +circle x0,y0 x1,y1 +polyline x0,y0 ... xn,yn +polygon x0,y0 ... xn,yn +bezier x0,y0 ... xn,yn +path specification +image operator x0,y0 w,h filename ++ +
The text primitive:
+ ++text x0,y0 string ++
The text gravity primitive:
+ ++gravity NorthWest, North, NorthEast, West, Center, + East, SouthWest, South, or SouthEast ++ +
The text gravity primitive only affects the placement of text and does not +interact with the other primitives. It is equivalent to using the -gravity command-line option, except that it is limited in +scope to the -draw option in which it appears.
+ +The transformation primitives:
+ ++rotate degrees +translate dx,dy +scale sx,sy +skewX degrees +skewY degrees ++ +
The pixel operation primitives:
+ ++color x0,y0 method +matte x0,y0 method ++ +
The shape primitives are drawn in the color specified by the preceding -fill setting. For unfilled shapes, use -fill none. You can optionally control the stroke (the +"outline" of a shape) with the -stroke and -strokewidth settings.
+ +A point
primitive is specified by a single point in the
+pixel plane, that is, by an ordered pair of integer coordinates,
+x,y. (As it involves only a single pixel, a point
+primitive is not affected by -stroke or -strokewidth.)
A line
primitive requires a start point and end point.
A rectangle
primitive is specified by the pair of points at the
+upper left and lower right corners.
A roundRectangle
primitive takes the same corner points as
+a rectangle
followed by the width and height of the rounded corners
+to be removed.
The circle
primitive makes a disk (filled) or circle (unfilled).
+Give the center and any point on the perimeter (boundary).
The arc
primitive is used to inscribe an elliptical segment in
+to a given rectangle. An arc
requires the two corners used for
+rectangle
(see above) followed by the start and end angles of the
+arc of the segment segment (e.g. 130,30 200,100 45,90). The start and end
+points produced are then joined with a line segment and the resulting segment
+of an ellipse is filled.
Use ellipse
to draw a partial (or whole) ellipse. Give the
+center point, the horizontal and vertical "radii" (the semi-axes of
+the ellipse) and start and end angles in degrees (e.g. 100,100 100,150
+0,360).
The polyline
and polygon
primitives require three or
+more points to define their perimeters. A polyline
is simply
+a polygon
in which the final point is not stroked to the start
+point. When unfilled, this is a polygonal line. If the -stroke setting is none
(the default), then
+a polyline
is identical to a polygon
.
A coordinate is a pair of integers separated by a space or +optional comma.
+ +As an example, to define a circle centered at 100,100 that extends to +150,150 use:
+ ++-draw 'circle 100,100 150,150' ++ +
The Bezier
primitive creates a spline curve and requires three
+or points to define its shape. The first and last points are the
+knots and these points are attained by the curve, while any
+intermediate coordinates are control points. If two control points
+are specified, the line between each end knot and its sequentially respective
+control point determines the tangent direction of the curve at that end. If
+one control point is specified, the lines from the end knots to the one
+control point determines the tangent directions of the curve at each end. If
+more than two control points are specified, then the additional control points
+act in combination to determine the intermediate shape of the curve. In order
+to draw complex curves, it is highly recommended either to use the
+path
primitive or to draw multiple four-point bezier segments with
+the start and end knots of each successive segment repeated. For example:
+-draw 'bezier 20,50 45,100 45,0 70,50' +-draw 'bezier 70,50 95,100 95,0 120,50' ++ +
A path
represents an outline of an object, defined in terms of
+moveto (set a new current point), lineto (draw a straight line), curveto (draw
+a Bezier curve), 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. (See Paths.)
Use image
to composite an image with another image. Follow the
+image keyword with the composite operator, image location, image size, and
+filename:
+-draw 'image SrcOver 100,100 225,225 image.jpg' ++ +
You can use 0,0 for the image size, which means to use the actual +dimensions found in the image header. Otherwise, it is scaled to the given +dimensions. See Alpha Compositing for +a detailed discussion of alpha composition methods that are available.
+ +The "special augmented compose operators" such as "dissolve" that require
+arguments cannot be used at present with the -draw image
option.
+
Use text
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.
For example, the following annotates the image with Works like
+magick!
for an image titled bird.miff
.
+-draw "text 100,100 'Works like magick!' " ++ +
See the -annotate option for another convenient way +to annotate an image with text.
+ +The rotate
primitive rotates subsequent shape primitives and
+text primitives about the origin of the main image. If the -region option precedes the -draw
+option, the origin for transformations is the upper left corner of the
+region.
The translate
primitive translates subsequent shape and text
+primitives.
The scale
primitive scales them.
The skewX
and skewY
primitives 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 -affine +option. Transformations are cumulative within the -draw +option. The initial affine matrix is not affected; that matrix is only changed +by the appearance of another -affine option. If another +-draw option appears, the current affine matrix is +reinitialized from the initial affine matrix.
+ +Use the color
primitive to change the color of a pixel to the
+fill color (see -fill). Follow the pixel coordinate with
+a method:
+point +replace +floodfill +filltoborder +reset ++ +
Consider the target pixel as that specified by your coordinate. The
+point
method recolors the target pixel. The replace
+method recolors any pixel that matches the color of the target pixel.
+Floodfill
recolors any pixel that matches the color of the target
+pixel and is a neighbor, whereas filltoborder
recolors any neighbor
+pixel that is not the border color. Finally, reset
recolors all
+pixels.
Use matte
to the change the pixel matte value to transparent.
+Follow the pixel coordinate with a method (see the color
primitive
+for a description of methods). The point
method changes the matte
+value of the target pixel. The replace
method changes the matte
+value of any pixel that matches the color of the target pixel.
+Floodfill
changes the matte value of any pixel that matches the
+color of the target pixel and is a neighbor, whereas filltoborder
+changes the matte value of any neighbor pixel that is not the border color (-bordercolor). Finally reset
changes the
+matte value of all pixels.
You can set the primitive color, font, and font bounding box color with -fill, -font, and -box +respectively. Options are processed in command line order so be sure to use +these options before the -draw option.
+ +Strings that begin with a number must be quoted (e.g. use '1.png' rather +than 1.png).
+ +Drawing primitives conform to the Magick +Vector Graphics format.
+ + + + +duplicate an image one or more times.
+ +Specify the count and the image to duplicate by its index in the sequence.
+The first image is index 0. Negative indexes are relative to the end of the
+sequence, for example, -1 represents the last image of the sequence. Specify
+a range of images with a dash (e.g. 0-4). Separate indexes with a comma (e.g.
+0,2). Use +duplicate
to duplicate the last image in the current
+image sequence.
reduce the speckles within an image.
+detect edges within an image.
-render text right-to-left or left-to-right.
+emboss an image.
-shift image pixels as defined by a displacement map.
- -With this option, the 'overlay' image, and optionally the 'mask' image, -is used as a displacement map, which is used to displace the lookup of -what part of the 'background' image is seen at each point of the overlaid -area. Much like the displacement map is a 'lens' that redirects light shining -through it so as to present a distorted view the original 'background' image -behind it.
- -Any perfect grey areas of the displacement map produce a zero -displacement of the image. Black areas produce the given maximum negative -displacement of the lookup point, while white produce a maximum positive -displacement of the lookup.
- -Note that it is the lookup of the 'background' that is displaced, not a -displacement of the image itself. As such an area of the displacement map -containing 'white' will have the lookup point 'shifted' by a positive amount, -and thus generating a copy of the destination image to the right/downward from -the correct position. That is the image will look like it may have been -'shifted' in a negative left/upward direction. Understanding this is a very -important in understanding how displacement maps work.
- -The given arguments define the maximum amount of displacement in pixels -that a particular map can produce. If the displacement scale is large enough -it is also possible to lookup parts of the 'background' image that lie well -outside the bounds of the displacement map itself. That is you could very -easily copy a section of the original image from outside the overlay area -into the overlay area.
- -The '%' flag makes the displacement scale relative to the size of the -overlay image (100% = half width/height of image). Using '!' switches -percentage arguments to refer to the destination image size instead. -these flags were added as of IM v6.5.3-5.
+Encipher pixels for later deciphering by -decipher.
-Normally a single grayscale displacement map is provided, which with the -given scaling values will determine a single direction (vector) in which -displacements can occur (positively or negatively). However, if you also -specify a third image which is normally used as a mask, -the composite image is used for horizontal X -displacement, while the mask image is used for vertical Y -displacement. This allows you to define completely different displacement -values for the X and Y directions, and allowing you to lookup any point within -the scale bounds. In other words each pixel can lookup -any other nearby pixel, producing complex 2 dimensional displacements, rather -than a simple 1 dimensional vector displacements.
+Get the passphrase from the file specified by filename.
-Alternatively rather than supplying two separate images, as of IM v6.4.4-0, -you can use the 'red' channel of the overlay image to specify the horizontal -or X displacement, and the 'green' channel for the vertical or Y displacement. -
+For more information, see the webpage, ImageMagick: Encipher or +Decipher an Image.
-As of IM v6.5.3-5 any alpha channel in the overlay image is used as a -mask the transparency of the destination image. However areas outside the -overlaid areas will not be effected.
-Specifies the X server to contact.
+specify the text encoding.
-This option is used with convert for obtaining image or font from this -X server. See X(1).
+Choose from AdobeCustom
, AdobeExpert
,
+AdobeStandard
, AppleRoman
, BIG5
,
+GB2312
, Latin 2
, None
, SJIScode
,
+Symbol
, Unicode
, Wansung
.
define the GIF disposal image setting for images that are being created or read in.
- -The layer disposal method defines the way each the displayed image is to be -modified after the current 'frame' of an animation has finished being -displayed (after its 'delay' period), but before the next frame on an -animation is to be overlaid onto the display.
- -Here are the valid methods:
- -
- Undefined 0 No disposal specified (equivalent to 'none
').
- None 1 Do not dispose, just overlay next frame image.
- Background 2 Clear the frame area with the background color.
- Previous 3 Clear to the image prior to this frames overlay.
-
-
-You can also use the numbers given above, which is what the GIF format -uses internally to represent the above settings.
+Specify endianness (MSB
or LSB
) of the image.
To print a complete list of dispose methods, use -list dispose.
+To print a complete list of endian types, use the -list endian option.
-Use +dispose, turn off the setting and prevent -resetting the layer disposal methods of images being read in.
+Use +endian to revert to unspecified endianness.
-Use -set 'dispose
' method to set the image
-disposal method for images already in memory.
maximum RMSE for subimage match (default 0.2).
+Apply a digital filter to enhance a noisy image.
-dissolve an image into another by the given percent.
+perform histogram equalization on the image channel-by-channel.
-The opacity of the composite image is multiplied by the given percent, then
-it is composited 'over' the main image. If src_percent
-is greater than 100, start dissolving the main image so it becomes
-transparent at a value of '200
'. If both percentages
-are given, each image are dissolved to the percentages given.
To perform histogram equalization on all channels in concert, transform the +image into some other color space, such as HSL, OHTA, YIQ or YUV, then +equalize the appropriate intensity-like channel, then convert back to RGB.
-Note that dissolve percentages do not add, two opaque images dissolved -'50,50', produce a 75% transparency. For a 50% + 50% blending of the two -images, you would need to use dissolve values of '50,100'.
+For example using HSL, we have: ... -colorspace HSL -channel lightness
+-equalize -colorspace RGB
...
For YIQ, YUV and OHTA use the red channel. For example, OHTA is a principal
+components transformation that puts most of the information in the first
+channel. Here we have ... -colorspace OHTA -channel red -equalize
+-colorspace RGB
...
distort an image, using the given method and its required arguments.
+Alter channel pixels by evaluating an arithmetic, relational, or logical expression.
-The arguments is a single string containing a list -of floating point numbers separated by commas or spaces. The number of -and meaning of the floating point values depends on the distortion method being used.
+(See the -function operator for some +multi-parameter functions. See the -fx operator if more +elaborate calculations are needed.)
-Choose from these distortion types:
+The behaviors of each operator are summarized in the +following list. For brevity, the numerical value of a "pixel" referred to +below is the value of the corresponding channel of that pixel, while +a "normalized pixel" is that number divided by the maximum +(installation-dependent) value QuantumRange. (If +normalized pixels are used, they are restored, following the other +calculations, to the full range by multiplying by QuantumRange.)
Method | -Description | -|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ScaleRotateTranslate
- or SRT |
-
- Distort image by first scaling and rotating about a given 'center',
- before translating that 'center' to the new location, in that order. It
- is an alternative method of specifying a 'Affine ' type of
- distortion, but without shearing effects. It also provides a good way
- of rotating and displacing a smaller image for tiling onto a larger
- background (IE 2-dimensional animations). - - The number of arguments determine the specific meaning of each - argument for the scales, rotation, and translation operations. - -
The points are placed according to the images location on the virtual -canvas (-page or -repage +canvas (-page or -repage offset), and do not actually have to exist on the given image, but may be some point beyond the edge of the image. All points are floating point values. -Only the color channels defined by the -channel are + Only the color channels defined by the -channel are modified, which means that by default matte/alpha transparency channel is not effected. Typically transparency channel is turned off either before or after the operation. @@ -6744,25 +7797,29 @@ default value.Splice the current background color into the image. -This will add rows and columns of the current -background color into the given image according to the + This will add rows and columns of the current -background color into the given image according to the given -gravity geometry setting. See Image Geometry for complete details about the geometry argument. Essentially -splice will divide the image into four quadrants, separating them by the inserted rows and columns. If a dimension of geometry is zero no rows or columns will be added for that -dimension. Similarly using a zero offset with the appropriate -gravity setting will add rows and columns to the edges of -the image, padding the image only along that one edge. Edge padding is what -splice is most commonly used for. +dimension. Similarly using a zero offset with the appropriate -gravity setting will add rows and columns to the edges of +the image, padding the image only along that one edge. Edge padding is what -splice is most commonly used for. -If the exact same geometry and -gravity is later used with -chop the + If the exact same geometry and -gravity is later used with -chop the added added all splices removed. displace image pixels by a random amount. @@ -6772,26 +7829,26 @@ neighborhood around each pixel from which to choose a candidate pixel to swap.replace each pixel with corresponding statistic from the neighborhood. Choose from these statistic types: -- Gradient maximum difference (max - min) value in neighborhood - Maximum maximum value per channel in neighborhood - Minimum minimum value per channel in neighborhood - Mean average value per channel in neighborhood - Median median value per channel in neighborhood - Mode mode (most frequent) value per channel in neighborhood - Nonpeak value just before or after the median value per channel in neighborhood - RMS root mean square value per channel in neighborhood - StandardDeviation standard deviation value per channel in neighborhood -+
hide watermark within an image. @@ -6802,7 +7859,7 @@ this information to recover the steganographic image (e.g. display -size 320x256+35 stegano:image.png).composite two images to create a red / cyan stereo anaglyph. @@ -6810,26 +7867,26 @@ this information to recover the steganographic image (e.g. display -sizeThe left side of the stereo pair (second image) is saved as the red channel of the output image. The right side (first image) is saved as the green and blue channels. Red-green stereo glasses are required to properly view the stereo image. pixel storage type. Here are the valid types: - char unsigned characters - double doubles - float floats - integer integers - long longs - quantum pixels in the native depth of your ImageMagick distribution - short unsigned shorts +char unsigned characters +double doubles +float floats +integer integers +long longs +quantum pixels in the native depth of your ImageMagick distribution +short unsigned shorts Float and double types are normalized from 0.0 to 1.0 otherwise the pixels values range from 0 to the maximum value the storage type can support. Set a type of stretch style for fonts. @@ -6838,31 +7895,33 @@ values range from 0 to the maximum value the storage type can support. apply to the currently selected font family. Select fontStretch from the following.- Any - Condensed - Expanded - ExtraCondensed - ExtraExpanded - Normal - SemiCondensed - SemiExpanded - UltraCondensed - UltraExpanded +Any +Condensed +Expanded +ExtraCondensed +ExtraExpanded +Normal +SemiCondensed +SemiExpanded +UltraCondensed +UltraExpanded To print a complete list of stretch types, use -list stretch. -For other settings that affect fonts, see the options -font, -family, -style, and -weight. +For other settings that affect fonts, see the options -font, -family, -style, and -weight. strip the image of any profiles or comments. color to use when stroking a graphic primitive. @@ -6872,7 +7931,7 @@ stretch.See -draw for further details. set the stroke width. @@ -6880,7 +7939,7 @@ stretch.See -draw for further details. Set a font style for text. @@ -6890,16 +7949,18 @@ the currently selected font family. Select fontStyle from the following.- Any - Italic - Normal - Oblique +Any +Italic +Normal +Oblique- For other settings that affect fonts, see the options -font, -family, -stretch, and -weight. +For other settings that affect fonts, see the options -font, -family, -stretch, and -weight. search for subimage. @@ -6923,7 +7984,7 @@ sub-image the faster this search is.Swap the positions of two images in the image sequence. @@ -6933,7 +7994,7 @@ images in the current image sequence. Use --swirl degrees+-swirl degreesswirl image pixels about the center. @@ -6941,7 +8002,7 @@ the last two images in the sequence.Degrees defines the tightness of the swirl. synchronize image to storage device. @@ -6952,13 +8013,13 @@ valid image file in the event of a system crash and early reporting if there is not enough disk space for the image pixel cache.Mark the image as modified. font for writing fixed-width text. @@ -6971,13 +8032,13 @@ OPTION1 font. For example,Courier.ttf is a TrueType font and
x:fixed is OPTION1.
name of texture to tile onto the image background. |