| 
					
				 | 
			
			
				@@ -0,0 +1,1064 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Dependencies 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var argsToArray = require('./utils').argsToArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Extend proto 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+module.exports = function (proto) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // change the specified frame. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // See #202. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.selectFrame = function (frame) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (typeof frame === 'number') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.sourceFrames = '[' + frame + ']'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // define the sub-command to use, http://www.graphicsmagick.org/utilities.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.command = proto.subCommand = function subCommand (name){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this._subCommand = name; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-adjoin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.adjoin = function adjoin () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-adjoin"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-affine 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.affine = function affine (matrix) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-affine", matrix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * Appends images to the list of "source" images. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * We may also specify either top-to-bottom or left-to-right 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * behavior of the appending by passing a boolean argument. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * Examples: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img = gm(src); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    // +append means left-to-right 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img.append(img1, img2)       gm convert src img1 img2 -append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img.append(img, true)        gm convert src img +append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img.append(img, false)       gm convert src img -append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img.append(img)              gm convert src img -append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img.append(img).append()     gm convert src img -append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img.append(img).append(true) gm convert src img +append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img.append(img).append(true) gm convert src img +append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   *    img.append(img).background('#222) gm convert src img -background #222 +append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param {String} [img] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param {Boolean} [ltr] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @see http://www.graphicsmagick.org/GraphicsMagick.html#details-append 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.append = function append (img, ltr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!this._append) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this._append = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.addSrcFormatter(function (src) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.out(this._append.ltr ? '+append' : '-append'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        src.push.apply(src, this._append); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (0 === arguments.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this._append.ltr = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    for (var i = 0; i < arguments.length; ++i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      var arg = arguments[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      switch (typeof arg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case 'boolean': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this._append.ltr = arg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        case 'string': 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this._append.push(arg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-authenticate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.authenticate = function authenticate (string) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-authenticate", string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-average 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.average = function average () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-average"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-backdrop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.backdrop = function backdrop () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-backdrop"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-black-threshold 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.blackThreshold = function blackThreshold (red, green, blue, opacity) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-black-threshold", argsToArray(red, green, blue, opacity).join(',')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-blue-primary 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.bluePrimary = function bluePrimary (x, y) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-blue-primary", argsToArray(x, y).join(',')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-border 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.border = function border (width, height) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-border", width+"x"+height); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-bordercolor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.borderColor = function borderColor (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-bordercolor", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-box 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.box = function box (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-box", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-channel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.channel = function channel (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-channel", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-chop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.chop = function chop (w, h, x, y) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.in("-chop", w+"x"+h + "+"+(x||0)+"+"+(y||0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-clip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.clip = function clip () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-clip"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-coalesce 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.coalesce = function coalesce () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-coalesce"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-colorize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.colorize = function colorize (r, g, b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-colorize", [r,g,b].join(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-colormap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.colorMap = function colorMap (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-colormap", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-compose 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.compose = function compose (operator) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-compose", operator); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-compress 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.compress = function compress (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-compress", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-kernel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.convolve = function convolve (kernel) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-convolve", kernel); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-create-directories 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.createDirectories = function createDirectories () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-create-directories"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-deconstruct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.deconstruct = function deconstruct () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-deconstruct"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-define 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.define = function define (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-define", value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-delay 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.delay = function delay (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-delay", value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-displace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.displace = function displace (horizontalScale, verticalScale) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-displace", horizontalScale+'x'+verticalScale); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-display 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.display = function display (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-display", value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-dispose 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.dispose = function dispose (method) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-dispose", method); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-encoding 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.encoding = function encoding (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-encoding", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-endian 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.endian = function endian (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-endian", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-file 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.file = function file (filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-file", filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-flatten 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.flatten = function flatten () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-flatten"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-foreground 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.foreground = function foreground (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-foreground", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-frame 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.frame = function frame (width, height, outerBevelWidth, innerBevelWidth) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if(arguments.length==0) return this.out("-frame"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-frame", width+'x'+height+'+'+outerBevelWidth+'+'+innerBevelWidth); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-fuzz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.fuzz = function fuzz (distance, percent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-fuzz", distance+(percent?'%':'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-gaussian 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.gaussian = function gaussian (radius, sigma) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-gaussian", argsToArray(radius, sigma).join('x')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-geometry 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.geometry = function geometry (width, height, arg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-geometry", width+'x'+height+(arg||'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-green-primary 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.greenPrimary = function greenPrimary (x, y) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-green-primary", x+','+y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-highlight-color 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.highlightColor = function highlightColor (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-highlight-color", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-highlight-style 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.highlightStyle = function highlightStyle (style) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-highlight-style", style); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-iconGeometry 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.iconGeometry = function iconGeometry (geometry) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-iconGeometry", geometry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-intent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.intent = function intent (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-intent", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-lat 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.lat = function lat (width, height, offset, percent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-lat", width+'x'+height+offset+(percent?'%':'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.level = function level (blackPoint, gamma, whitePoint, percent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-level", argsToArray(blackPoint, gamma, whitePoint).join(',')+(percent?'%':'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.list = function list (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-list", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.log = function log (string) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-log", string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-loop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.loop = function loop (iterations) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-loop", iterations); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-map 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.map = function map (filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-map", filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-mask 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.mask = function mask (filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-mask", filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-matte 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.matte = function matte () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-matte"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-mattecolor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.matteColor = function matteColor (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-mattecolor", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-maximum-error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.maximumError = function maximumError (limit) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-maximum-error", limit); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-mode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.mode = function mode (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-mode", value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-monitor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.monitor = function monitor () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-monitor"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-mosaic 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.mosaic = function mosaic () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-mosaic"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-motion-blur 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.motionBlur = function motionBlur (radius, sigma, angle) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var arg=radius; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (typeof sigma!='undefined') arg+='x'+sigma; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (typeof angle!='undefined') arg+='+'+angle; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-motion-blur", arg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.name = function name () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-name"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-noop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.noop = function noop () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-noop"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-normalize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.normalize = function normalize () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-normalize"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-opaque 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.opaque = function opaque (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-opaque", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-operator 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.operator = function operator (channel, operator, rvalue, percent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-operator", channel, operator, rvalue+(percent?'%':'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-ordered-dither 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.orderedDither = function orderedDither (channeltype, NxN) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-ordered-dither", channeltype, NxN); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-output-directory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.outputDirectory = function outputDirectory (directory) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-output-directory", directory); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-page 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.page = function page (width, height, arg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-page", width+'x'+height+(arg||'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-pause 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.pause = function pause (seconds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-pause", seconds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-pen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.pen = function pen (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-pen", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-ping 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.ping = function ping () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-ping"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-pointsize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.pointSize = function pointSize (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-pointsize", value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-preview 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.preview = function preview (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-preview", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-process 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.process = function process (command) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-process", command); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-profile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.profile = function profile (filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-profile", filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-progress 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.progress = function progress () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("+progress"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-random-threshold 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.randomThreshold = function randomThreshold (channeltype, LOWxHIGH) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-random-threshold", channeltype, LOWxHIGH); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-recolor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.recolor = function recolor (matrix) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-recolor", matrix); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-red-primary 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.redPrimary = function redPrimary (x, y) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-red-primary", x, y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-remote 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.remote = function remote () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-remote"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-render 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.render = function render () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-render"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-repage 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.repage = function repage (width, height, xoff, yoff, arg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-repage", width+'x'+height+'+'+xoff+'+'+yoff+(arg||'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-sample 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.sample = function sample (geometry) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-sample", geometry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-sampling-factor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.samplingFactor = function samplingFactor (horizontalFactor, verticalFactor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-sampling-factor", horizontalFactor+'x'+verticalFactor); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-scene 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.scene = function scene (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-scene", value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-scenes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.scenes = function scenes (start, end) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-scenes", start+'-'+end); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-screen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.screen = function screen () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-screen"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-set 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.set = function set (attribute, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-set", attribute, value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-segment 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.segment = function segment (clusterThreshold, smoothingThreshold) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-segment", clusterThreshold+'x'+smoothingThreshold); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-shade 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.shade = function shade (azimuth, elevation) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-shade", azimuth+'x'+elevation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-shadow 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.shadow = function shadow (radius, sigma) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-shadow", argsToArray(radius, sigma).join('x')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-shared-memory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.sharedMemory = function sharedMemory () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-shared-memory"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-shave 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.shave = function shave (width, height, percent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-shave", width+'x'+height+(percent?'%':'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-shear 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.shear = function shear (xDegrees, yDegreees) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-shear", xDegrees+'x'+yDegreees); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-silent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.silent = function silent (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-silent"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-size 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.rawSize = function rawSize (width, height, offset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var off = 'undefined' != typeof offset 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ? '+' + offset 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-size", width +'x'+ height + off); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-snaps 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.snaps = function snaps (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-snaps", value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-stegano 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.stegano = function stegano (offset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-stegano", offset); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-stereo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.stereo = function stereo () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-stereo"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-text-font 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.textFont = function textFont (name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-text-font", name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-texture 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.texture = function texture (filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-texture", filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-threshold 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.threshold = function threshold (value, percent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-threshold", value+(percent?'%':'')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-thumbnail 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.thumbnail = function thumbnail (width, height) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-thumbnail", width + "x" + height); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-tile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.tile = function tile (filename) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-tile", filename); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.title = function title (string) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-title", string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-transform 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.transform = function transform (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-transform", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-transparent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.transparent = function transparent (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-transparent", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-treedepth 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.treeDepth = function treeDepth (value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-treedepth", value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.update = function update (seconds) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-update", seconds); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-units 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.units = function units (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-units", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-unsharp 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.unsharp = function unsharp (radius, sigma, amount, threshold) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var arg=radius; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (typeof sigma != 'undefined') arg+='x'+sigma; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (typeof amount != 'undefined') arg+='+'+amount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (typeof threshold != 'undefined') arg+='+'+threshold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-unsharp", arg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-use-pixmap 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.usePixmap = function usePixmap () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-use-pixmap"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-view 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.view = function view (string) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-view", string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-virtual-pixel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.virtualPixel = function virtualPixel (method) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-virtual-pixel", method); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-visual 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.visual = function visual (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-visual", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-watermark 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.watermark = function watermark (brightness, saturation) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-watermark", brightness+'x'+saturation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-wave 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.wave = function wave (amplitude, wavelength) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-wave", amplitude+'x'+wavelength); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-white-point 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.whitePoint = function whitePoint (x, y) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-white-point", x+'x'+y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-white-threshold 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.whiteThreshold = function whiteThreshold (red, green, blue, opacity) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-white-threshold", argsToArray(red, green, blue, opacity).join(',')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-window 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.window = function window (id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-window", id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-window-group 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.windowGroup = function windowGroup () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-window-group"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-strip (graphicsMagick >= 1.3.15) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.strip = function strip () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (this._options.imageMagick) return this.out("-strip"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.noProfile().out("+comment");//Equivalent to "-strip" for all versions of graphicsMagick 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-interlace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.interlace = function interlace (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-interlace", type || "None"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // force output format 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.setFormat = function setFormat (format) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (format) this._outputFormat = format; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-resize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.resize = function resize (w, h, options) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    options = options || ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var geometry; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (w && h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = w + "x" + h + options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (w && !h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // GraphicsMagick requires <width>x<options>, ImageMagick requires <width><options> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = (this._options.imageMagick) ? w + options : w + 'x' + options; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (!w && h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = 'x' + h + options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-resize", geometry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-scale 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.scale = function scale (w, h, options) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    options = options || ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var geometry; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (w && h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = w + "x" + h + options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (w && !h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = (this._options.imageMagick) ? w + options : w + 'x' + options; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (!w && h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = 'x' + h + options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-scale", geometry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-filter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.filter = function filter (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-filter", val); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-density 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.density = function density (w, h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.in("-density", w +"x"+ h); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-profile 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.noProfile = function noProfile () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.out('+profile', '"*"'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-resample 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.resample = function resample (w, h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-resample", w+"x"+h); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-rotate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.rotate = function rotate (color, deg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-background", color, "-rotate", String(deg || 0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-flip 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.flip = function flip () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-flip"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-flop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.flop = function flop () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-flop"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-crop 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.crop = function crop (w, h, x, y, percent) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (this.inputIs('jpg')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // avoid error "geometry does not contain image (unable to crop image)" - gh-17 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      var index = this._in.indexOf('-size'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (~index) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this._in.splice(index, 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-crop", w + "x" + h + "+" + (x || 0) + "+" + (y || 0) + (percent ? '%' : '')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-magnify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.magnify = function magnify (factor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.in("-magnify"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.minify = function minify () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.in("-minify") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-quality 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.quality = function quality (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.in("-quality", val || 75); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-blur 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.blur = function blur (radius, sigma) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-blur", radius + (sigma ? "x"+sigma : "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/convert.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.charcoal = function charcoal (factor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-charcoal", factor || 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-modulate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.modulate = function modulate (b, s, h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-modulate", [b,s,h].join(",")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-antialias 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // note: antialiasing is enabled by default 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.antialias = function antialias (disable) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return false === disable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ? this.out("+antialias") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      : this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-depth 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.bitdepth = function bitdepth (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-depth", val); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-colors 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.colors = function colors (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-colors", val || 128); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-colorspace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.colorspace = function colorspace (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-colorspace", val); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-comment 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.comment = comment("-comment"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-contrast 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.contrast = function contrast (mult) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var arg = (parseInt(mult, 10) || 0) > 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ? "+contrast" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      : "-contrast"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mult = Math.abs(mult) || 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    while (mult--) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.out(arg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-cycle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.cycle = function cycle (amount) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-cycle", amount || 2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.despeckle = function despeckle () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-despeckle"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-dither 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // note: either colors() or monochrome() must be used for this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // to take effect. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.dither = function dither (on) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var sign = false === on 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ? "+" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      : "-"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out(sign + "dither"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.monochrome = function monochrome () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-monochrome"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.edge = function edge (radius) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-edge", radius || 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.emboss = function emboss (radius) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-emboss", radius || 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.enhance = function enhance () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-enhance"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.equalize = function equalize () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-equalize"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-gamma 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.gamma = function gamma (r, g, b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-gamma", [r,g,b].join()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.implode = function implode (factor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-implode", factor || 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-comment 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.label = comment("-label"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  var limits = [ "disk", "file", "map", "memory", "pixels", "threads"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-limit 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.limit = function limit (type, val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type = type.toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!~limits.indexOf(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-limit", type, val); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.median = function median (radius) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-median", radius || 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-negate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.negative = function negative (grayscale) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var sign = grayscale ? "+" : "-"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out(sign + "negate"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  var noises = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "uniform" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "gaussian" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "multiplicative" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "impulse" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "laplacian" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "poisson" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-noise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.noise = function noise (radius) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    radius = (String(radius)).toLowerCase(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var sign = ~noises.indexOf(radius) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ? "+" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      : "-"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out(sign + "noise", radius); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-paint 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.paint = function paint (radius) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-paint", radius); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-raise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.raise = function raise (w, h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-raise", (w||0)+"x"+(h||0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-raise 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.lower = function lower (w, h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("+raise", (w||0)+"x"+(h||0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-region 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.region = function region (w, h, x, y) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    w = w || 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    h = h || 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    x = x || 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    y = y || 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-region", w + "x" + h + "+" + x + "+" + y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-roll 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.roll = function roll (x, y) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    x = ((x = parseInt(x, 10) || 0) >= 0 ? "+" : "") + x; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    y = ((y = parseInt(y, 10) || 0) >= 0 ? "+" : "") + y; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-roll", x+y); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-sharpen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.sharpen = function sharpen (radius, sigma) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sigma = sigma 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ? "x" + sigma 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      : ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-sharpen", radius + sigma); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-solarize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.solarize = function solarize (factor) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-solarize", (factor || 1)+"%"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-spread 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.spread = function spread (amount) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-spread", amount || 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-swirl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.swirl = function swirl (degrees) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-swirl", degrees || 180); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.type = function type (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.in("-type", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-trim 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.trim = function trim () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-trim"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-extent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.extent = function extent (w, h, options) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    options = options || ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    var geometry; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (w && h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = w + "x" + h + options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (w && !h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = (this._options.imageMagick) ? w + options : w + 'x' + options; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } else if (!w && h) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      geometry = 'x' + h + options 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-extent", geometry); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-gravity 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // Be sure to use gravity BEFORE extent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.gravity = function gravity (type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!type || !~gravity.types.indexOf(type)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type = "NorthWest"; // Documented default. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-gravity", type); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.gravity.types = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "NorthWest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "North" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "NorthEast" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "West" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "Center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "East" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "SouthWest" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "South" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    , "SouthEast" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-flatten 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.flatten = function flatten () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out("-flatten"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // http://www.graphicsmagick.org/GraphicsMagick.html#details-background 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  proto.background = function background (color) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.in("-background", color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Generates a handler for comments/labels. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function comment (arg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return function (format) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    format = String(format); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    format = "@" == format.charAt(0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ? format.substring(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      : format; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return this.out(arg, '"' + format + '"'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |