ImageMagick 是一套稳定的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。利用ImageMagick,你可以根据web应用程序的需要动态生成图片, 还可以对一个图片或图片序列进行改变大小、旋转、锐化、减色或增加特效,并将操作的结果以相同格式或其它格式保存。对图片的操作,可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。同时ImageMagick提供了一个高质量的2D工具包,部分地支持SVG。现在,ImageMagic的主要精力集中在性能、减少bug以及提供稳定的API和ABI上。 
  ImageMagick功能强大,却免费的。ImageMagick的功能包括: 

  • 将图片从一个格式转换到另一个格式
  • 改变尺寸、旋转、锐化(sharpen)、减色、图片特效
  • 缩略图片的合成图( a montage of image thumbnails)
  • 适于web的背景透明的图片
  • 将一组图片做成gif动画
  • 将几张图片做成一张组合图片
  • 在一个图片上写字或画图形
  • 给图片加边框或框架
  •   右面是一些例子。  
      ImageMagick几乎可以在任何非专有的操作系统上编译,无论是32位还是64位的CPU,包括*nix ,Windows '95/'98/ME/NT 4.0/2000/XP, Macintosh (MacOS 9 /10), VMS 和 OS/2.  
    下载安装  ImageMagick在很多服务器上都可以下到,甚至很多个人站点也提供了下载。建议到ImageMagick的官方主页上下载最新版本的源码包,我下的是ImageMagick-5.5.6.tar.gz,在linux下的安装过程如下: tar zxvf ImageMagick-5.5.6.tar.gz  
    cd ImageMagick-5.5.6  
    ./configure  
    make all  
    su  
    make install  

      注意不要忘记,将ImageMagick安装后的函数库所在目录加入到/etc/profile文件中的LD_LIBRARY_PATH环境变量中,以及/etc/ld.so.conf中同时运行ldconfig,否则一些对ImageMagic的应用可能会出问题。  
    使用说明

命令行工具说明 


程序名

命令行参数

说明

animate

[ options ... ] file [ [ options ... ] file ... ]

显示一个图片序列。为防止颜色闪烁,它会费时为图片序列创建一个颜色表,这可通过减色来加快速度,参见 http://www.wizards.dupont.com/cristy/www/animate.html。

composite

[ options ... ] image composite [ mask ] composited

将图片合成为新图片。

conjure

[ options ] script.msl [ [ options ] script.msl ]

解释并执行Magick Scripting Language (MSL).语言脚本。

convert

[ [ options ... ] [ input_file ... ] ... [ output_file ] ]

转换图片的大小、格式等。

display

[ options ... ] file ... [ [options ... ]file ... ]

一个独立于机器框架的图片处理和显示程序,能在任何运行X服务器的工作站上显示图片。

identify

file [ file ... ]

描述一张或一些图片的格式或个性信息,如果图片不完整或被破坏也会有相应报告。

import

[ options ... ] file

读取X服务器上任何可见窗口中的图象将输出为图片文件。可以用它抓取一个窗口、整个屏幕或屏幕上的任何矩形区域。

mogrify

[ options ... ] file ...

转换一张图片或一个图片序列. 包括图片缩放、旋转、减色及其它操作。转换结果覆盖原图片。

  ImageMagick支持的某些文件格式,需要安装特别的函数库,具体参见 http://www.imagemagick.org/www/install.html 。用convert -list format 可以看一下实际支持的文件格式。 

  

http://www.imagemagick.org/www/utilities.html

 有对命令行参数的详细说明, http://www-106.ibm.com/developerworks/library/l-graf/?ca=dnt-428

有一些使用例程。 http://www.starlink.rl.ac.uk/star/docs/sc15.htx/node57.html

有一些说明。 


  ImageMagick还支持一种平台无关的文件格式Magick Image File Format (MIFF)格式,用来保存bitmap图片.ImageMagick能将MIFF与JPEG, XPM, TIFF等多种格式的图片互相转换。 


附:ImageMagick支持图片格式、内建图片和图片模板以及嵌入图片模板。 


Supported ImageFormats



程序名

命令行参数

说明

animate

[ options ... ] file [ [ options ... ] file ... ]

显示一个图片序列。为防止颜色闪烁,它会费时为图片序列创建一个颜色表,这可通过减色来加快速度,参见 http://www.wizards.dupont.com/cristy/www/animate.html。

composite

[ options ... ] image composite [ mask ] composited

将图片合成为新图片。

conjure

[ options ] script.msl [ [ options ] script.msl ]

解释并执行Magick Scripting Language (MSL).语言脚本。

convert

[ [ options ... ] [ input_file ... ] ... [ output_file ] ]

转换图片的大小、格式等。

display

[ options ... ] file ... [ [options ... ]file ... ]

一个独立于机器框架的图片处理和显示程序,能在任何运行X服务器的工作站上显示图片。

identify

file [ file ... ]

描述一张或一些图片的格式或个性信息,如果图片不完整或被破坏也会有相应报告。

import

[ options ... ] file

读取X服务器上任何可见窗口中的图象将输出为图片文件。可以用它抓取一个窗口、整个屏幕或屏幕上的任何矩形区域。

mogrify

[ options ... ] file ...

转换一张图片或一个图片序列. 包括图片缩放、旋转、减色及其它操作。转换结果覆盖原图片。


Pseudo ImageFormats



程序名

命令行参数

说明

animate

[ options ... ] file [ [ options ... ] file ... ]

显示一个图片序列。为防止颜色闪烁,它会费时为图片序列创建一个颜色表,这可通过减色来加快速度,参见 http://www.wizards.dupont.com/cristy/www/animate.html。

composite

[ options ... ] image composite [ mask ] composited

将图片合成为新图片。

conjure

[ options ] script.msl [ [ options ] script.msl ]

解释并执行Magick Scripting Language (MSL).语言脚本。

convert

[ [ options ... ] [ input_file ... ] ... [ output_file ] ]

转换图片的大小、格式等。

display

[ options ... ] file ... [ [options ... ]file ... ]

一个独立于机器框架的图片处理和显示程序,能在任何运行X服务器的工作站上显示图片。

identify

file [ file ... ]

描述一张或一些图片的格式或个性信息,如果图片不完整或被破坏也会有相应报告。

import

[ options ... ] file

读取X服务器上任何可见窗口中的图象将输出为图片文件。可以用它抓取一个窗口、整个屏幕或屏幕上的任何矩形区域。

mogrify

[ options ... ] file ...

转换一张图片或一个图片序列. 包括图片缩放、旋转、减色及其它操作。转换结果覆盖原图片。


Built-in Image Formats

程序名

命令行参数

说明

animate

[ options ... ] file [ [ options ... ] file ... ]

显示一个图片序列。为防止颜色闪烁,它会费时为图片序列创建一个颜色表,这可通过减色来加快速度,参见 http://www.wizards.dupont.com/cristy/www/animate.html。

composite

[ options ... ] image composite [ mask ] composited

将图片合成为新图片。

conjure

[ options ] script.msl [ [ options ] script.msl ]

解释并执行Magick Scripting Language (MSL).语言脚本。

convert

[ [ options ... ] [ input_file ... ] ... [ output_file ] ]

转换图片的大小、格式等。

display

[ options ... ] file ... [ [options ... ]file ... ]

一个独立于机器框架的图片处理和显示程序,能在任何运行X服务器的工作站上显示图片。

identify

file [ file ... ]

描述一张或一些图片的格式或个性信息,如果图片不完整或被破坏也会有相应报告。

import

[ options ... ] file

读取X服务器上任何可见窗口中的图象将输出为图片文件。可以用它抓取一个窗口、整个屏幕或屏幕上的任何矩形区域。

mogrify

[ options ... ] file ...

转换一张图片或一个图片序列. 包括图片缩放、旋转、减色及其它操作。转换结果覆盖原图片。

Built-inImage Patterns


程序名

命令行参数

说明

animate

[ options ... ] file [ [ options ... ] file ... ]

显示一个图片序列。为防止颜色闪烁,它会费时为图片序列创建一个颜色表,这可通过减色来加快速度,参见 http://www.wizards.dupont.com/cristy/www/animate.html。

composite

[ options ... ] image composite [ mask ] composited

将图片合成为新图片。

conjure

[ options ] script.msl [ [ options ] script.msl ]

解释并执行Magick Scripting Language (MSL).语言脚本。

convert

[ [ options ... ] [ input_file ... ] ... [ output_file ] ]

转换图片的大小、格式等。

display

[ options ... ] file ... [ [options ... ]file ... ]

一个独立于机器框架的图片处理和显示程序,能在任何运行X服务器的工作站上显示图片。

identify

file [ file ... ]

描述一张或一些图片的格式或个性信息,如果图片不完整或被破坏也会有相应报告。

import

[ options ... ] file

读取X服务器上任何可见窗口中的图象将输出为图片文件。可以用它抓取一个窗口、整个屏幕或屏幕上的任何矩形区域。

mogrify

[ options ... ] file ...

转换一张图片或一个图片序列. 包括图片缩放、旋转、减色及其它操作。转换结果覆盖原图片。

EmbeddedImage Patterns


程序名

命令行参数

说明

animate

[ options ... ] file [ [ options ... ] file ... ]

显示一个图片序列。为防止颜色闪烁,它会费时为图片序列创建一个颜色表,这可通过减色来加快速度,参见 http://www.wizards.dupont.com/cristy/www/animate.html。

composite

[ options ... ] image composite [ mask ] composited

将图片合成为新图片。

conjure

[ options ] script.msl [ [ options ] script.msl ]

解释并执行Magick Scripting Language (MSL).语言脚本。

convert

[ [ options ... ] [ input_file ... ] ... [ output_file ] ]

转换图片的大小、格式等。

display

[ options ... ] file ... [ [options ... ]file ... ]

一个独立于机器框架的图片处理和显示程序,能在任何运行X服务器的工作站上显示图片。

identify

file [ file ... ]

描述一张或一些图片的格式或个性信息,如果图片不完整或被破坏也会有相应报告。

import

[ options ... ] file

读取X服务器上任何可见窗口中的图象将输出为图片文件。可以用它抓取一个窗口、整个屏幕或屏幕上的任何矩形区域。

mogrify

[ options ... ] file ...

转换一张图片或一个图片序列. 包括图片缩放、旋转、减色及其它操作。转换结果覆盖原图片。