cristy | 3ed852e | 2009-09-05 21:47:34 +0000 | [diff] [blame] | 1 | |
| 2 | This is Magick++, the object-oriented C++ API to the ImageMagick |
| 3 | image-processing library, the most comprehensive open-source image |
| 4 | processing solution available. Read the release notes for Magick++. |
| 5 | |
| 6 | Magick++ supports an object model which is inspired by PerlMagick. |
| 7 | Magick++ executes faster than PerlMagick since it is accessed from a |
| 8 | compiled language rather than from a scripting language. This makes it more |
| 9 | suitable for Web CGI programs which must start-up and execute quickly. |
| 10 | Images support implicit reference counting so that copy constructors and |
| 11 | assignment incur almost no cost. The cost of actually copying an image (if |
| 12 | necessary) is done just before modification and this copy is managed |
| 13 | automatically by Magick++. De-referenced copies are automatically deleted. |
| 14 | The image objects support value (rather than pointer) semantics so it is |
| 15 | trivial to support multiple generations of an image in memory at one time. |
| 16 | |
| 17 | Magick++ provides integrated support for the Standard Template Library (STL) |
| 18 | so that the powerful containers available (e.g. deque, vector, list, and |
| 19 | map) can be used to write programs similar to those possible with PERL & |
| 20 | PerlMagick. STL-compatable template versions of ImageMagick's list-style |
| 21 | operations are provided so that operations may be performed on multiple |
| 22 | images stored in STL containers. |
| 23 | |
| 24 | Documentation |
| 25 | |
| 26 | Detailed documentation are provided for all Magick++ classes, class methods, |
| 27 | and template functions which comprise the API. |
| 28 | |
| 29 | Obtaining Magick++ |
| 30 | |
| 31 | Magick++ is included as part of ImageMagick source releases and may be |
| 32 | retrieved via ftp or Subversion. |
| 33 | |
| 34 | Installation |
| 35 | |
| 36 | Once you have the sources available, follow these detailed installation |
| 37 | instructions for UNIX and Windows. |
| 38 | |
| 39 | Usage |
| 40 | |
| 41 | A helper script named Magick++-config is installed under Unix which assists |
| 42 | with recalling compilation options required to compile and link programs |
| 43 | which use Magick++. For example, the following command will compile and |
| 44 | link the source file example.cpp to produce the executable example (notice |
| 45 | that quotes are backward quotes): |
| 46 | |
| 47 | c++ `Magick++-config --cxxflags --cppflags --ldflags --libs` \ |
| 48 | -o example example.cpp |
| 49 | |
| 50 | Windows users may get started by manually editing a project file for one of |
| 51 | the Magick++ demo programs. |
| 52 | |
| 53 | Reporting Bugs |
| 54 | |
| 55 | Please report any bugs via the Magick++ Bug Tracking System at |
| 56 | http://www.imagemagick.org/discourse-server/. |
| 57 | |
| 58 | Related Packages |
| 59 | |
| 60 | Users who are interested in displaying their images at video game rates on a |
| 61 | wide number of platforms and graphic environments (e.g. Windows, X11, BeOS, |
| 62 | and Linux/CGI) may want to try PtcMagick, which provides a simple interface |
| 63 | between Magick++ and OpenPTC. |