The im4java Library, Version 1.4.0

Class IMOperation

  extended by org.im4java.core.Operation
      extended by org.im4java.core.IMOps
          extended by org.im4java.core.IMOperation
Direct Known Subclasses:
ChannelMixer, NoiseFilter

public class IMOperation
extends IMOps

This class models the command-line of ImageMagick. It extends the class IMOps and adds some utility-methods (like appendVertically()) not found in ImageMagick, mainly for ease of use. Subclasses of IMOperation implement more specific operations (e.g. ChannelMixer).

If you want to switch between GraphicsMagick and ImageMagick at runtime (using the system-property im4java.useGM=true), you have to limit yourself to the subset of options common to both implementations.

$Revision: 1.12 $
$Author: bablokb $

Field Summary
Fields inherited from class org.im4java.core.Operation
Constructor Summary
Method Summary
 IMOperation addSubOperation(Operation pSubOperation)
          Add a IMOperation as a suboperation.
 IMOperation appendHorizontally()
          Append images horizontally (same as +append)
 IMOperation appendVertically()
          Append images vertically (same as -append)
 IMOperation closeOperation()
          Close a sub-operation (add a closing parenthesis).
 IMOperation haldClut(java.lang.String pCLUTImage)
          Apply a HALD-CLUT.
 IMOperation openOperation()
          Open a sub-operation (add a opening parenthesis).
Methods inherited from class org.im4java.core.IMOps
adaptiveBlur, adaptiveBlur, adaptiveBlur, adaptiveResize, adaptiveResize, adaptiveResize, adaptiveResize, adaptiveResize, adaptiveSharpen, adaptiveSharpen, adaptiveSharpen, adjoin, affine, affine, affine, affine, affine, affine, affine, alpha, alpha, annotate, annotate, annotate, annotate, annotate, annotate, antialias, append, attenuate, attenuate, authenticate, authenticate, autoGamma, autoLevel, autoOrient, average, backdrop, backdrop, background, background, bench, bench, bias, bias, bias, blackPointCompensation, blackThreshold, blackThreshold, blackThreshold, blend, blend, blend, bluePrimary, bluePrimary, bluePrimary, blueShift, blueShift, blur, blur, blur, border, border, border, bordercolor, bordercolor, borderwidth, borderwidth, borderwidth, borderwidth, borderwidth, brightnessContrast, brightnessContrast, brightnessContrast, brightnessContrast, cache, cache, caption, caption, cdl, cdl, channel, channel, charcoal, charcoal, chop, chop, chop, chop, chop, chop, clamp, clip, clipMask, clipPath, clipPath, clone, clone, clone, clone, clone, clut, coalesce, colorize, colorize, colorize, colorize, colormap, colormap, colorMatrix, colorMatrix, colors, colors, colorspace, colorspace, combine, comment, comment, compose, compose, composite, compress, compress, contrast, contrastStretch, contrastStretch, contrastStretch, contrastStretch, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, convolve, crop, crop, crop, crop, crop, crop, crop, cycle, cycle, debug, debug, decipher, decipher, deconstruct, define, define, delay, delay, delay, delay, delete, delete, delete, delete, delete, density, density, density, depth, depth, descend, deskew, deskew, despeckle, direction, direction, displace, displace, displace, display, display, display, display, dispose, dispose, dissimilarityThreshold, dissimilarityThreshold, dissolve, dissolve, distort, distort, distort, dither, dither, draw, draw, duplicate, duplicate, duplicate, edge, edge, emboss, emboss, encipher, encipher, encoding, encoding, endian, endian, enhance, equalize, evaluate, evaluate, evaluate, evaluateSequence, evaluateSequence, extent, extent, extent, extent, extent, extract, extract, extract, extract, extract, family, family, features, features, fft, fill, fill, filter, filter, flatten, flip, floodfill, floodfill, floodfill, floodfill, flop, font, font, foreground, foreground, format, format, frame, frame, frame, frame, frame, function, function, function, fuzz, fuzz, fuzz, fx, fx, gamma, gamma, gaussianBlur, gaussianBlur, gaussianBlur, geometry, geometry, geometry, geometry, geometry, gravity, gravity, greenPrimary, greenPrimary, greenPrimary, haldClut, help, highlightColor, highlightColor, iconGeometry, iconGeometry, iconGeometry, iconGeometry, iconGeometry, iconic, identify, ift, immutable, implode, implode, insert, insert, intent, intent, interlace, interlace, interlineSpacing, interlineSpacing, interpolate, interpolate, interwordSpacing, interwordSpacing, kerning, kerning, label, label, lat, lat, lat, lat, lat, layers, layers, level, level, level, level, level, levelColors, levelColors, levelColors, limit, limit, linearStretch, linearStretch, linearStretch, linearStretch, linewidth, liquidRescale, liquidRescale, liquidRescale, liquidRescale, liquidRescale, list, list, log, log, loop, loop, lowlightColor, lowlightColor, magnify, magnify, map, map, mask, mask, mattecolor, mattecolor, median, median, metric, metric, mode, mode, modulate, modulate, modulate, modulate, monitor, monochrome, morph, morph, morphology, morphology, morphology, mosaic, motionBlur, motionBlur, motionBlur, motionBlur, name, negate, noise, noise, normalize, opaque, opaque, orderedDither, orderedDither, orderedDither, orient, orient, p_adjoin, p_antialias, p_append, p_channel, p_clipPath, p_clipPath, p_clone, p_compress, p_contrast, p_debug, p_define, p_define, p_delete, p_dispose, p_distort, p_distort, p_distort, p_dither, p_duplicate, p_endian, p_gamma, p_gamma, p_label, p_level, p_level, p_level, p_level, p_level, p_levelColors, p_levelColors, p_levelColors, p_map, p_mask, p_negate, p_noise, p_noise, p_opaque, p_opaque, p_page, p_polaroid, p_profile, p_profile, p_raise, p_raise, p_raise, p_remap, p_render, p_repage, p_shade, p_shade, p_shade, p_sigmoidalContrast, p_sigmoidalContrast, p_sigmoidalContrast, p_swap, p_write, p_write, page, page, page, page, page, page, page, paint, paint, passphrase, passphrase, path, path, pause, pause, perceptible, perceptible, ping, pointsize, pointsize, polaroid, polaroid, poly, poly, posterize, posterize, precision, precision, preview, preview, print, print, process, process, profile, profile, quality, quality, quantize, quantize, quiet, radialBlur, radialBlur, raise, raise, raise, randomThreshold, randomThreshold, randomThreshold, randomThreshold, recolor, recolor, redPrimary, redPrimary, redPrimary, regardWarnings, region, region, region, region, region, remap, remap, remote, render, repage, repage, repage, repage, repage, resample, resample, resample, resize, resize, resize, resize, resize, respectParentheses, respectParenthesis, reverse, roll, roll, roll, rotate, rotate, rotate, sample, sample, sample, sample, sample, samplingFactor, samplingFactor, samplingFactor, scale, scale, scale, scale, scale, scene, scene, screen, seed, segment, segment, segment, selectiveBlur, selectiveBlur, selectiveBlur, selectiveBlur, separate, sepiaTone, sepiaTone, set, set, set, shade, shade, shade, shadow, shadow, shadow, shadow, shadow, shadow, sharedMemory, sharpen, sharpen, sharpen, shave, shave, shave, shave, shear, shear, shear, sigmoidalContrast, sigmoidalContrast, sigmoidalContrast, silent, size, size, size, size, sketch, sketch, sketch, sketch, smush, smush, snaps, snaps, solarize, solarize, sparseColor, sparseColor, sparseColor, splice, splice, splice, splice, splice, splice, spread, spread, statistic, statistic, statistic, statistic, statistic, statistic, statistic, stegano, stegano, stereo, stereo, stereo, storageType, storageType, stretch, stretch, strip, stroke, stroke, strokewidth, strokewidth, style, style, subimageSearch, swap, swap, swap, swirl, swirl, synchronize, taint, textFont, textFont, texture, texture, threshold, threshold, threshold, threshold, threshold, threshold, thumbnail, thumbnail, thumbnail, thumbnail, thumbnail, tile, tile, tile, tile, tile, tile, tileOffset, tileOffset, tileOffset, tint, tint, title, title, transform, transparent, transparent, transparentColor, transparentColor, transpose, transverse, treedepth, treedepth, trim, type, type, undercolor, undercolor, uniqueColors, units, units, unsharp, unsharp, unsharp, unsharp, unsharp, update, update, verbose, version, view, view, vignette, vignette, vignette, vignette, vignette, vignette, virtualPixel, virtualPixel, visual, visual, watermark, watermark, wave, wave, wave, weight, weight, weight, whitePoint, whitePoint, whitePoint, whiteThreshold, whiteThreshold, whiteThreshold, window, window, windowGroup, write, write
Methods inherited from class org.im4java.core.Operation
addDynamicOperation, addImage, addImage, addImage, addOperation, addRawArgs, addRawArgs, cloneObject, getCmdArgs, getDynamicOperations, toString
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public IMOperation()

Method Detail


public IMOperation openOperation()
Open a sub-operation (add a opening parenthesis).


public IMOperation closeOperation()
Close a sub-operation (add a closing parenthesis).


public IMOperation addSubOperation(Operation pSubOperation)
Add a IMOperation as a suboperation.


public IMOperation appendHorizontally()
Append images horizontally (same as +append)


public IMOperation appendVertically()
Append images vertically (same as -append)


public IMOperation haldClut(java.lang.String pCLUTImage)
Apply a HALD-CLUT. This method takes the clut-image as a parameter. The standard (autogenerated) method has no parameters. The IM-operator just uses the last image of the image-stack as the clut-image.

pCLUTImage - the HALD-CLUT image

The im4java Library, Version 1.4.0

Released under the LGPL, (c) Bernhard Bablok 2008-2010