98 lines
5.6 KiB
HTML
98 lines
5.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=ibm437">
|
|
<TITLE>Magick++ -- C++ API for ImageMagick</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="StarOffice 6.0 (Solaris Sparc)">
|
|
<META NAME="AUTHOR" CONTENT="Bob Friesenhahn">
|
|
<META NAME="CREATED" CONTENT="20020805;13455306">
|
|
<META NAME="CHANGEDBY" CONTENT="Bob Friesenhahn">
|
|
<META NAME="CHANGED" CONTENT="20030528;11224400">
|
|
<META NAME="DESCRIPTION" CONTENT="C++ API for ImageMagick">
|
|
<link rel=stylesheet type=text/css href="magick.css">
|
|
</HEAD>
|
|
<BODY LANG="en-US" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" BGCOLOR="#ffffff">
|
|
<P ALIGN=CENTER><IMG SRC="Magick++.png" NAME="Graphic1" ALIGN=BOTTOM WIDTH=464 HEIGHT=134 BORDER=0></P>
|
|
<P>Magick++ is the object-oriented C++ API to the <A HREF="http://www.imagemagick.org/">ImageMagick</A>
|
|
image-processing library, the most comprehensive open-source image
|
|
processing package available. Read the latest <A HREF="http://www.imagemagick.org">NEWS</A>
|
|
and <A HREF="http://magick.imagemagick.org/script/changelog.php">ChangeLog</A> for Magick++.
|
|
</P>
|
|
<P><IMG SRC="logo.png" NAME="Graphic2" ALIGN=RIGHT WIDTH=85 HEIGHT=88 BORDER=0>Magick++
|
|
supports an object model which is inspired by <A HREF="http://www.imagemagick.org/script/perl-magick.php">PerlMagick</A>.
|
|
Images support implicit reference counting so that copy constructors
|
|
and assignment incur almost no cost. The cost of actually copying an
|
|
image (if necessary) is done just before modification and this copy
|
|
is managed automagically by Magick++. De-referenced copies are
|
|
automagically deleted. The image objects support value (rather than
|
|
pointer) semantics so it is trivial to support multiple generations
|
|
of an image in memory at one time.
|
|
</P>
|
|
<P>Magick++ provides integrated support for the <A HREF="http://www.sgi.com/tech/stl/">Standard
|
|
Template Library</A> (STL) so that the powerful containers available
|
|
(e.g. <A HREF="http://www.sgi.com/tech/stl/Deque.html">deque</A>,
|
|
<A HREF="http://www.sgi.com/tech/stl/Vector.html">vector</A>, <A HREF="http://www.sgi.com/tech/stl/List.html">list</A>,
|
|
and <A HREF="http://www.sgi.com/tech/stl/Map.html">map</A>) can
|
|
be used to write programs similar to those possible with PERL &
|
|
PerlMagick. STL-compatible template versions of ImageMagick's
|
|
list-style operations are provided so that operations may be
|
|
performed on multiple images stored in STL containers.
|
|
</P>
|
|
<H3>Documentation</H3>
|
|
<P>Detailed <A HREF="Documentation.html">documentation</A> is
|
|
provided for all Magick++ classes, class methods, and template
|
|
functions which comprise the API. See a <a href="http://www.imagemagick.org/Magick++/tutorial/Magick++_tutorial.pdf" target="<?php echo rand()?>"> Gentle Introduction to Magick++</a> for an introductory tutorial to Magick++. We include the <a href="http://www.imagemagick.org/Magick++/tutorial/Magick++_tutorial.odt" target="<?php echo rand()?>">source</a> if you want to correct, enhance, or expand the tutorial.</p>
|
|
</P>
|
|
<H3>Obtaining Magick++</H3>
|
|
<P>Magick++ is included as part of <A HREF="../../index.html">ImageMagick</A>
|
|
source releases and may be retrieved via <A HREF="http://www.imagemagick.org/script/download.php">ftp</A>
|
|
or <A HREF="http://www.imagemagick.org/script/subversion.php">Subversion</A>.
|
|
</P>
|
|
<H3>Installation</H3>
|
|
<P>Once you have the Magick++ sources available, follow these detailed
|
|
<A HREF="Install.html">installation instructions</A> for UNIX and
|
|
Windows.
|
|
</P>
|
|
<P><B><FONT SIZE=4>Usage</FONT></B>
|
|
</P>
|
|
<P>A helper script named <I>Magick++-config</I> is installed
|
|
under Unix which assists with recalling compilation options required
|
|
to compile and link programs which use Magick++. For example, the
|
|
following command will compile and link the source file <I>example.cpp</I>
|
|
to produce the executable <I>example</I> (notice that quotes are
|
|
backward quotes):
|
|
</P>
|
|
<BLOCKQUOTE><TT><FONT SIZE=2>c++ -o example example.cpp
|
|
`Magick++-config --cppflags --cxxflags --ldflags --libs`</FONT></TT></BLOCKQUOTE>
|
|
<P>Windows users may get started by manually editing a project file
|
|
for one of the Magick++ demo programs.
|
|
</P>
|
|
<P><B>Please note that under Windows (and possibly the Mac) it is
|
|
necessary to initialize the ImageMagick library prior to using the
|
|
Magick++ library</B>. This initialization is performed by passing the
|
|
path to the ImageMagick DLLs (assumed to be in the same directory
|
|
as your program) to the InitializeMagick() function call. This is
|
|
commonly performed by providing the path to your program (argv[0]) as
|
|
shown in the following example:
|
|
</P>
|
|
<BLOCKQUOTE><TT><FONT COLOR="#663366">int main( ssize_t /*argc*/, char **
|
|
argv)</FONT></TT> <BR><TT><FONT COLOR="#663366">{</FONT></TT> <BR><TT><FONT COLOR="#663366">
|
|
InitializeMagick(*argv);</FONT></TT></BLOCKQUOTE>
|
|
<P>This initialization step is not required under Unix, Linux,
|
|
Cygwin, or any other operating environment that supports the notion
|
|
of "installing" ImageMagick in a known location.
|
|
</P>
|
|
<H3>Reporting Bugs</H3>
|
|
<P>Please report any bugs via the
|
|
<A HREF="http://www.imagemagick.org/discourse-server/viewforum.php?f=3">Magick++ bug tracking forum</A>.
|
|
Questions regarding usage should be directed to
|
|
<A HREF="http://www.imagemagick.org/discourse-server/viewforum.php?f=1">Magick++ discussion forum</A>.
|
|
</P>
|
|
<H3>Related Packages</H3>
|
|
<P>Users who are interested in displaying their images at video game
|
|
rates on a wide number of platforms and graphic environments (e.g.
|
|
Windows, X11, BeOS, and Linux/CGI) may want to try PtcMagick,
|
|
which provides a simple interface between Magick++ and <A HREF="http://www.gaffer.org/ptc/">OpenPTC</A>.
|
|
</P>
|
|
</BODY>
|
|
</HTML>
|