<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1st December 2004), see www.w3.org" />

  <title>RMagick 1.15.3 User's Guide and
  Reference</title>
  <meta http-equiv="Content-Type" content=
  "text/html; charset=us-ascii" />
  <meta name="GENERATOR" content="Quanta Plus" />
  <meta name="Copyright" content=
  "Copyright (C) 2006 by Timothy P. Hunter" />
  <link rel="stylesheet" type="text/css" href="css/doc.css" />
<style type="text/css">
  /*<![CDATA[*/

  /* Styles local to this page. */

  #logo {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: black;
    margin: 0;
  }
  #logoborder {
    margin: 0;
    padding-left: 10px;
    font-weight: 700;
    font-style: italic;
    background-color: #900;
    color: #c0c0c0;
  }
  #magick {
    position:absolute;
    top: 20px;
    left: 380px;
    padding-left: 15px;
    margin-bottom: 0;
    color: #c0c0c0;
    background-color: black;
    font-weight: 700;
    font-family: sans-serif;
  }
  .tm {
    vertical-align: super;
    font-size: x-small;
  }

  h1 {
    text-align: left;
    background-color: #900;
    color: #ebebeb;
    padding: 5px .3em .5em .3em;
    margin-top: 110px;
    margin-bottom: 0;
  }

  h2 {
      margin-top: 0;
      margin-bottom: 0;
      padding-left: .3em;
      padding-right: .3em;
      padding-bottom: .5em;
      padding-top: .5em;
      background-color: #545454;
      color: white;
    }

  #toc ul {
    padding-top: 1em;
    padding-bottom: 1em;
    list-style: none;
    font-weight: bold;
  }
  #toc ul ul {
    padding-top: 0;
    list-style: square;
    font-weight: normal;
  }
  #toc ul ul ul {
    list-style: circle;
  }

  #Introduction {
      background-color: #663;
      margin-bottom: 1em;
  }

  #version {
    padding-top: 1em;
    margin-left: 0;
    margin-right: 0;
  }
  /*]]>*/
</style>
</head>

<body>
  <div id="logo">
    <img alt="" src="ex/images/logo400x83.gif" />
  </div>

  <p id="magick">Ruby+ImageMagick<span class="tm">TM</span><br />
  Ruby+GraphicsMagick<br />
  Version 1.15.3</p>

  <h1>User's Guide and Reference</h1>

  <h2>Table of Contents</h2>

  <div id="toc">
    <ul>
      <li><a href="#introduction">Introduction</a></li>

      <li>User's Guide</li>

      <li style="list-style: none">
        <ul>
          <li><a href="usage.html">How to Use RMagick</a></li>

          <li><a href="imusage.html">ImageMagick and GraphicsMagick
          Conventions</a></li>

          <li><a href="optequiv.html">Magick Command Options and
          Their Equivalent Methods</a></li>

          <li><a href="comtasks.html">Common Tasks</a></li>
        </ul>
      </li>

      <li>Reference</li>

      <li style="list-style: none">
        <ul>
          <li>Modules</li>

          <li style="list-style: none">
            <ul>
              <li><a href="magick.html">Magick</a></li>
            </ul>
          </li>

          <li>Classes</li>

          <li style="list-style: none">
            <ul>
              <li><a href="ilist.html">ImageList</a></li>

              <li><a href="imageattrs.html">Image (attribute
              methods)</a></li>

              <li><a href="image1.html">Image (class and instance
              methods, part 1)</a></li>

              <li><a href="image2.html">Image (instance methods,
              part 2)</a></li>

              <li><a href="image3.html">Image (instance methods,
              part 3)</a></li>

              <li><a href="draw.html">Draw</a></li>
            </ul>
          </li>

          <li>
            <a href="struct.html">Miscellaneous classes</a>

            <ul>
              <li><a href="struct.html#view">Image::View</a></li>

              <li><a href="struct.html#Geometry">Geometry</a></li>

              <li><a href="struct.html#Pixel">Pixel</a></li>

              <li><a href="struct.html#struct">Struct
              classes</a></li>

              <li><a href="struct.html#fill">Fill classes</a></li>

              <li><a href="struct.html#exception">Exception
              classes</a></li>
            </ul>
          </li>

          <li><a href="info.html">Image::Info - Optional method
          arguments</a></li>

          <li><a href="constants.html">Constants</a></li>
        </ul>
      </li>

      <li>RVG - Ruby Vector Graphics</li>

      <li style="list-style:none">
        <ul>
          <li><a href="rvgtut.html">Drawing with RVG: A
          tutorial</a></li>

          <li>RVG Reference

            <ul>
              <li><a href="rvg.html">class RVG</a></li>

              <li><a href="rvggroup.html">class RVG::Group</a></li>

              <li><a href="rvgimage.html">class RVG::Image</a></li>

              <li><a href="rvgpattern.html">class
              RVG::Pattern</a></li>

              <li><a href="rvgclip.html">class
              RVG::ClipPath</a></li>

              <li><a href="rvgtext.html">class RVG::Text</a></li>

              <li><a href="rvgtspan.html">class RVG::Tspan</a></li>

              <li><a href="rvguse.html">class RVG::Use</a></li>

              <li><a href="rvgstyle.html">The styles
              method</a></li>

              <li><a href="rvgshape.html">The shapes
              methods</a></li>

              <li><a href="rvgxform.html">The transform
              methods</a></li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </div>

  <h2 id="introduction">Introduction</h2>

  <h3>What is RMagick?</h3>

  <p>RMagick is a binding from Ruby to the ImageMagick <span class=
  "tm">TM</span> and GraphicsMagick image manipulation libraries.
  Here's how the <a href=
  "http://www.imagemagick.org/index.html">ImageMagick home page</a>
  describes ImageMagick:</p>

  <div class="imquote">
    <p>ImageMagick<span style=
    "font-size: x-small; vertical-align: super">TM</span>... is a
    free software suite to create, edit, and compose bitmap images.
    It can read, convert and write images in a large variety of
    formats. Images can be cropped, colors can be changed, various
    effects can be applied, images can be rotated and combined, and
    text, lines, polygons, ellipses and B&eacute;zier curves can be
    added to images and stretched and rotated.</p>
  </div>

  <p>GraphicsMagick is a branch from ImageMagick 5.5.2 and provides
  a nearly identical API. The <a href=
  "http://www.graphicsmagick.org">GraphicsMagick web site</a> says
  this about GraphicsMagick:</p>

  <div class="imquote">
    <p><em>GraphicsMagick</em> is the swiss army knife of image
    processing. It provides a robust collection of tools and
    libraries which support reading, writing, and manipulating an
    image in over 88 major formats including important formats like
    DPX, GIF, JPEG, JPEG-2000, PNG, PDF, SVG, and TIFF.
    GraphicsMagick supports huge images on systems that support
    large files, and has been tested with gigapixel-size images.
    GraphicsMagick can create new images on the fly, making it
    suitable for building dynamic Web applications. GraphicsMagick
    may be used to resize, rotate, sharpen, color reduce, or add
    special effects to an image and save the result in the same or
    differing image format</p>
  </div>

  <p>Both libraries offer a full range of image processing tools
  that provide the capability to:</p>

  <div class="imquote">
    <ul>
      <li>Convert an image from one format to another (e.g. TIFF to
      JPEG)</li>

      <li>Resize, rotate, sharpen, color reduce, or add special
      effects to an image</li>

      <li>Create a montage of image thumbnails</li>

      <li>Create a transparent image suitable for use on the
      Web</li>

      <li>Turn a group of images into a GIF animation sequence</li>

      <li>Create a composite image by combining several separate
      images</li>

      <li>Draw shapes or text on an image</li>

      <li>Decorate an image with a border or frame</li>

      <li>Describe the format and characteristics of an image</li>
    </ul>
  </div>

  <p>RMagick is a complete interface to ImageMagick and
  GraphicsMagick. Version 1.0.0 was released in February, 2003.
  Within its four major classes and 30 minor classes RMagick
  defines over 600 methods and 225 constants. RMagick exploits Ruby
  idioms such as blocks and iterators, Struct classes, symbols, ?-
  and !-suffixed methods, and exceptions.</p>

  <h3>About this document</h3>

  <p>This document describes Version 1.15.3 of RMagick.
  It is divided into 4 parts. The first is this page. The second
  part is a user's guide covering both RMagick and
  ImageMagick/GraphicsMagick usage and conventions. The third part
  is a reference guide to the ImageList, Image, and Draw classes.
  This guide includes many examples.</p>

  <p>The fourth part covers Ruby Vector Graphics (RVG). RVG is a
  facade for Draw that provides a high-level API for scalable
  vector graphics. The RVG section includes a tutorial and complete
  reference documentation.</p>

  <p>Accompanying the HTML documentation is a set of over 175
  example RMagick programs. Each is a complete, stand-alone program
  that either creates an image from scratch or modifies an input
  image using one or more RMagick methods. The output images are
  used as illustrations in the HTML documentation. Throughout this
  document, click any example image to see the program that created
  it.</p>

  <h4>Conventions</h4>

  <p><b>Names&nbsp;&nbsp;</b>I've tried to follow existing Ruby
  conventions in this document. A class is identified by its name,
  which always starts with a capital letter. An object is referred
  to by its class name, starting with a small letter. For example,
  a generic ImageList object is referred to as an
  <em>imagelist</em>. In the Reference section, when a method
  signature identifies the type of an argument or return value, the
  type is shown by preceding the class name by "a" or "an". For
  example, <code>anImage</code> refers to an Image object, and
  <code>anImageList</code> refers to an ImageList object. Class
  methods are identified like this: <code>Class.method</code>.
  Instance methods are identified like this:
  <code>Class#method</code>.</p>

  <p>RMagick is implemented in the <b>Magick</b> module, therefore
  its constants are in the Magick namespace. However, for clarity
  I've omitted the <code>Magick::</code> prefix in most places in
  this document. You can use the <code>include Magick</code>
  statement to add the constants and methods to the Object
  namespace.</p>

  <p><b>References to ImageMagick and GraphicsMagick</b>&nbsp;
  &nbsp;GraphicsMagick is a fork of ImageMagick and shares most of
  its APIs. When describing a feature, API, convention, component,
  or other element that is shared by both, I use the string
  <b>&times;Magick</b>. For example, "&times;Magick supports over
  89 major image formats" means that both ImageMagick and
  GraphicsMagick support over 89 formats.</p>

  <p><b>&times;Magick documentation&nbsp;&nbsp;</b><span class=
  "imquote">Text that looks like this</span> is quoted from the
  &times;Magick documentation.</p>

  <p><b>Example programs and images&nbsp;&nbsp;</b> All of the
  example images on these pages were created by RMagick. Click the
  image to see the progam code. (You may need to configure your
  browser to allow JavaScript and popup windows.) All example
  images show the result of applying the method. Many example
  images show the "before" image as well. When the image is
  accompanied by this symbol <img style="display:inline" src=
  "ex/images/spin.gif" alt="rollover" /> mouse over the image to
  see the "before" version.</p>

  <h3>How to get help</h3>

  <p>If you have a question that is not answered by these pages,
  you can post it at the <a href=
  "http://rubyforge.org/projects/rmagick">Support Request
  Tracker</a> or the <a href=
  "http://rubyforge.org/projects/rmagick">Feature Request
  Tracker</a> on RubyForge, or email me at <code>rmagick at
  rubyforge.org</code>.</p>

  <h3><a name="bugs" id="bugs">Reporting bugs</a></h3>

  <p>Please report problems with RMagick installation and usage to
  the <a href="http://rubyforge.org/projects/rmagick/">Bug
  Tracker</a> at RubyForge, or email me at <code>rmagick at
  rubyforge.org</code>.</p>

  <p>For quickest results, include the RMagick, &times;Magick and
  Ruby version numbers, along with a thorough description of the
  problem. RMagick will tell you both its version number and
  &times;Magick's version number. Simply bring up irb and run this
  command: <code>ruby -r RMagick -e "puts
  Magick::Long_version"</code></p>
  <pre class="example" id="version">
This is RMagick 1.15.0 ($Date: 2007/01/14 19:01:40 $) Copyright (C) 2007 by Timothy P. Hunter
Built with ImageMagick 6.3.1 01/13/07 Q16 http://www.imagemagick.org
Built for ruby 1.8.5 (2006-08-25) [i686-linux]
Web page: http://rmagick.rubyforge.org
Email: rmagick@rubyforge.org
</pre>

  <p>It will help a lot if you supply a small Ruby program that
  reproduces the problem. (Don't forget to include any input image
  files!).</p>

  <p>Please remember I can't help with Ruby or &times;Magick
  installation and configuration problems. For help with Ruby, post
  your questions to <code>comp.lang.ruby</code>. For help with
  ImageMagick or GraphicsMagick, join the ImageMagick or
  GraphicsMagick mailing list. See the instructions at <a href=
  "http://www.imagemagick.org/script/mailing-list.php">http://www.imagemagick.org/script/mailing-list.php</a>
  or <a href=
  "http://sourceforge.net/projects/graphicsmagick/">http://sourceforge.net/projects/graphicsmagick/</a>.</p>

  <p>I'm not an image processing guru, either, so I probably won't
  be able to help with questions about specific image formats and
  transformations. I will be glad, however, to translate between
  the RMagick API and the &times;Magick C API to help you compose a
  question to the &times;Magick developers.</p>

  <h3>Contributions</h3>

  <p>If you have a script or an image using RMagick that you're
  particularly proud of, let me know. I'd like to collect your
  contributions, along with other users' contributions, and put
  them in a <code>contrib</code> directory to distribute with
  RMagick. I'm particularly interested in getting examples for the
  RMagick methods that currently have no examples.</p>

  <h3><a name="copyrights" id="copyrights">Copyright
  Notices</a></h3>

  <ul>
    <li>RMagick &copy; 2002-2007 Timothy P. Hunter.</li>

    <li>ImageMagick &copy; 1999-2007 ImageMagick Studio.</li>

    <li>GraphicsMagick &copy; 2002, 2003, 2004, 2005 GraphicsMagick
    Group.</li>

    <li>Ruby is copyrighted free software by Yukihiro
    Matsumoto.</li>
  </ul>

  <div class="nav">
    &laquo; <a href="index.html">Prev</a> | <a href=
    "index.html">Contents</a> | <a href="usage.html">Next</a>
    &raquo;
  </div>
</body>
</html>