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 ... | 转换一张图片或一个图片序列. 包括图片缩放、旋转、减色及其它操作。转换结果覆盖原图片。 |