index.html 5.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Magick++ API</title>
  7. <link rel="stylesheet" href="magick.css" type="text/css" />
  8. </head>
  9. <body>
  10. <div class="doc-section">
  11. <P ALIGN=CENTER><IMG SRC="Magick++.png" NAME="Graphic1" ALIGN=BOTTOM WIDTH=464 HEIGHT=134 BORDER=0></P>
  12. <h1>ImageMagick Magick++ API</h1>
  13. <P>Magick++ is the object-oriented C++ API to the <A HREF="http://www.imagemagick.org/">ImageMagick</A>
  14. image-processing library, the most comprehensive open-source image
  15. processing package available. Read the latest <A HREF="http://www.imagemagick.org">NEWS</A>
  16. and <A HREF="http://magick.imagemagick.org/script/changelog.php">ChangeLog</A> for Magick++.
  17. </P>
  18. <P><IMG SRC="logo.png" NAME="Graphic2" ALIGN=RIGHT WIDTH=85 HEIGHT=88 BORDER=0>Magick++
  19. supports an object model which is inspired by <A HREF="http://www.imagemagick.org/script/perl-magick.php">PerlMagick</A>.
  20. Images support implicit reference counting so that copy constructors
  21. and assignment incur almost no cost. The cost of actually copying an
  22. image (if necessary) is done just before modification and this copy
  23. is managed automagically by Magick++. De-referenced copies are
  24. automagically deleted. The image objects support value (rather than
  25. pointer) semantics so it is trivial to support multiple generations
  26. of an image in memory at one time.
  27. </P>
  28. <P>Magick++ provides integrated support for the <A HREF="http://www.sgi.com/tech/stl/">Standard
  29. Template Library</A> (STL) so that the powerful containers available
  30. (e.g. <A HREF="http://www.sgi.com/tech/stl/Deque.html">deque</A>,
  31. <A HREF="http://www.sgi.com/tech/stl/Vector.html">vector</A>, <A HREF="http://www.sgi.com/tech/stl/List.html">list</A>,
  32. and <A HREF="http://www.sgi.com/tech/stl/Map.html">map</A>) can
  33. be used to write programs similar to those possible with PERL &amp;
  34. PerlMagick. STL-compatible template versions of ImageMagick's
  35. list-style operations are provided so that operations may be
  36. performed on multiple images stored in STL containers.
  37. </P>
  38. <H3>Documentation</H3>
  39. <P>Detailed <A HREF="Documentation.html">documentation</A> is
  40. provided for all Magick++ classes, class methods, and template
  41. 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>
  42. </P>
  43. <H3>Obtaining Magick++</H3>
  44. <P>Magick++ is included as part of <A HREF="https://imagemagick.org/index.html">ImageMagick</A>
  45. source releases and may be retrieved via <A HREF="https://imagemagick.org/script/download.php">ftp</A>
  46. or <A HREF="https://github.com/ImageMagick">Github</A>.
  47. </P>
  48. <H3>Installation</H3>
  49. <P>Once you have the Magick++ sources available, follow these detailed
  50. <A HREF="Install.html">installation instructions</A> for UNIX and
  51. Windows.
  52. </P>
  53. <P><B><FONT SIZE=4>Usage</FONT></B>
  54. </P>
  55. <P>A helper script named <I>Magick++-config</I> is installed
  56. under Unix which assists with recalling compilation options required
  57. to compile and link programs which use Magick++. For example, the
  58. following command will compile and link the source file <I>example.cpp</I>
  59. to produce the executable <I>example</I> (notice that quotes are
  60. backward quotes):
  61. </P>
  62. <BLOCKQUOTE><TT><FONT SIZE=2>c++ -O2 -o example example.cpp
  63. `Magick++-config --cppflags --cxxflags --ldflags --libs`</FONT></TT></BLOCKQUOTE>
  64. <P>Windows users may get started by manually editing a project file
  65. for one of the Magick++ demo programs.
  66. </P>
  67. <P><B>Be sure to initialize the ImageMagick library prior to using the
  68. Magick++ library</B>. This initialization is performed by passing the
  69. path to the ImageMagick DLLs (assumed to be in the same directory
  70. as your program) to the InitializeMagick() function call. This is
  71. commonly performed by providing the path to your program (argv[0]) as
  72. shown in the following example:
  73. </P>
  74. <BLOCKQUOTE><TT><FONT COLOR="#663366">int main( ssize_t /*argc*/, char **
  75. argv)</FONT></TT> <BR><TT><FONT COLOR="#663366">{</FONT></TT> <BR><TT><FONT COLOR="#663366">
  76. InitializeMagick(*argv);</FONT></TT></BLOCKQUOTE>
  77. </P>
  78. <H3>Reporting Bugs</H3>
  79. <P>Please report any bugs via the
  80. <A HREF="http://www.imagemagick.org/discourse-server/viewforum.php?f=3">Magick++ bug tracking forum</A>.
  81. Questions regarding usage should be directed to
  82. <A HREF="http://www.imagemagick.org/discourse-server/viewforum.php?f=1">Magick++ discussion forum</A>.
  83. </P>
  84. <H3>Related Packages</H3>
  85. <P>Users who are interested in displaying their images at video game
  86. rates on a wide number of platforms and graphic environments (e.g.
  87. Windows, X11, BeOS, and Linux/CGI) may want to try PtcMagick,
  88. which provides a simple interface between Magick++ and <A HREF="http://www.gaffer.org/ptc/">OpenPTC</A>.
  89. </P>
  90. </ul>
  91. </BODY>
  92. </HTML>