以下内容翻译自:http://www.imagemagick.org/
imagemagick
使用Imagemagick,你可以创建,编辑,合成,转换位图图像。它可以读取或写入图像,支持多种文件格式(超过200种),包括png,jpeg,gif,heic,tiff,dpx,exr,webp,postscript,pdf和svg。它可以重新设置图片大小,翻动,镜像,旋转,歪曲,剪断和转换图像,调节图像颜色,使用多种特效,写入文字,写入线条,多边形,椭圆和Bézier曲线。
使用imagemagick的功能,可以使用命令行。或者你可以使用你擅长的编程语言调用接口来使用imagemagick。相关接口有:G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++), JMagick (Java), JuliaIO (Julia), L-Magick (Lisp), Lua (LuaJIT), NMagick (Neko/haXe), Magick.NET (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand for PHP (PHP), IMagick(PHP), PythonMagick (Python), magick (R), RMagick (Ruby), or TclMagick (Tcl/TK).使用这些接口,你可以动态或自动地修改或创建图像。
ImageMagick利用多线程来提高性能,并可以读取,处理,或写入mb,gb或tb像素图像大小。
ImageMagick时免费软件。发布方式有两种,一种是可立即运行的二进制发行版或作为源代码提供。你可以在开放和专有的程序中使用,复制,修改和发布。
ImageMagick开发过程可确保API和ABI的稳定性。在每次发布之前,我们都会执行全面的安全测试。
当前版本号是7.0.8-23,支持linux,windows,macosx,ios,安卓os和其它操作系统。
Imagemagick官网地址:https://imagemagick.org
Imagemagick官方代码地址:https://github.com/ImageMagick
我们还维护了一个镜像地址: https://gitlab.com/ImageMagick
Imagemagick的历史版本6的地址:https://legacy.imagemagick.org
功能和能力
这里列举了一些ImageMagick可以实现的功能:
功能 | 描述 |
Animation(动画) | 使用一组图片创建一个GIF动画 |
Color management(色彩管理) | accurate color management with color profiles or in lieu of-- built-in gamma compression or expansion as demanded by the colorspace. 使用颜色配置文件进行精确的颜色管理,或者代替颜色空间所需的内置伽玛压缩或扩展。
|
Command-line processing(命令行处理) | utilize ImageMagick from the command-line.在命令行中使用ImageMagick |
Complex text layout(复杂文字布局) | bidirectional text support and shaping.支持双向文本和修整 |
overlap one image over another.在一个图像上重叠另一个图像。 | |
Connected component labeling(连接组件标签) | uniquely label connected regions in an image.图片中唯一可连接标签。 |
Decorate装饰 | add a border or frame to an image.给图像添加一个边框和框架 |
Delineate image features描绘图像功能 | Canny edge detection, Hough lines. Canny边缘检测,Hough线。 |
Discrete Fourier transform离散傅里叶变换 | implements the forward and inverse DFT. 离散傅立叶变换 |
Distributed pixel cache分布式像素缓存 | offload intermediate pixel storage to one or more remote servers. 将中间像素存储卸载到一个或多个远程服务器。 |
Draw | add shapes or text to an image.向图像添加形状和文本 |
convert ordinary images into unintelligible gibberish and back again.。将普通图像转换成无法理解的乱码并且可以再转换回普通图像。 | |
Format conversion格式转换 | convert an image from one format to another (e.g. PNG to JPEG).将一个图像从一种文件格式转换成另一种格式。例如png转jpeg |
correct for, or induce image distortions including perspective. 纠正或引起图像扭曲,包括透视。 | |
certain algorithms are OpenCL-enabled to take advantage of speed-ups offered by executing in concert across heterogeneous platforms consisting of CPUs, GPUs, and other processors. 某些算法支持OpenCL,以利用通过在由CPU,GPU和其他处理器组成的异构平台上协同执行所提供的加速。 | |
Use adaptive histogram equalization to improve contrast in images. 使用自适应直方图均衡来改善图像中的对比度。 | |
Image calculator图像计算器 | apply a mathematical expression to an image or image channels. 将数学表达式应用于图像或图像通道。 |
Image gradients图像渐变 | create a gradual blend of two colors whose shape is horizontal, vertical, circular, or elliptical.创造两种颜色的渐变混合,其形状为水平,垂直,圆形或椭圆形。 |
describe the format and attributes of an image. 描述图像的格式和属性。 | |
convert, edit, or compose images on your iOS device such as the iPhone or iPad. 在iOS设备(如iPhone或iPad)上转换,编辑或撰写图像。 | |
ead, process, or write mega-, giga-, or tera-pixel image sizes. | |
juxtapose image thumbnails on an image canvas. 在图像画布上并置图像缩略图。拼接剪辑 | |
Morphology of shapes形状的形态 | extract features, describe shapes, and recognize patterns in images.提取特征,描述形状和识别图像中的图案。 |
read and write the common image formats used in digital film work. 读写数字电影作品中常用的图像格式。 | |
Noise and color reduction噪音和色彩还原 | |
Perceptual hash感知哈希 | map visually identical images to the same or similar hash-- useful in image retrieval, authentication, ind将视觉上相同的图像映射到相同或相似的散列 - 在图像检索,认证,索引或复制检测以及数字水印中有用。exing, or copy detection as well as digital watermarking. |
blur, sharpen, threshold, or tint an image. 模糊,锐化,阈值或着色图像。 | |
Text & comments文字和评论 | insert descriptive or artistic text in an image. 在图像中插入描述性或艺术性文字。 |
Threads of execution support执行支持的线程 | ImageMagick is thread safe and most internal algorithms execute in parallel to take advantage of speed-ups offered by multicore processor chips. ImageMagick是线程安全的,大多数内部算法并行执行,以利用多核处理器芯片提供的加速。 |
resize, rotate, deskew, crop, flip or trim an image. 调整大小,旋转,歪斜,裁剪,翻转或修剪图像。 | |
Transparency透明度 | render portions of an image invisible. 渲染图像的一部分看不见。 |
Virtual pixel support虚拟像素支持 | convenient access to pixels outside the image boundaries. 方便地访问图像边界外的像素。 |
ImageMagick Usage的示例显示了如何从命令行使用ImageMagick来完成任何这些任务等等。 另外,请参阅Fred的ImageMagick Scripts:大量的命令行脚本,可执行几何变换,模糊,锐化,边缘,噪声消除和颜色处理。 使用Magick.NET,无需在服务器或桌面上安装ImageMagick即可使用ImageMagick。
新闻
现在ImageMagick版本7已经发布,我们继续在https://legacy.imagemagick.org维护ImageMagick版本6的旧版本。通过我们的移植指南了解ImageMagick版本7与以前版本的不同之处。
ImageMagick最佳实践强烈建议您配置适合您本地环境的安全策略。
作为模拟线性(RGB)和非线性(sRGB)颜色空间,从ImageMagick 7.0.7-17开始,我们引入了LinearGray颜色空间。灰色是非线性灰度,而LinearGray是线性的(例如, - 空间线性 - 灰色)。
想从ImageMagick获得更多性能?尝试以下选项:
为系统添加更多内存,请参阅像素缓存;
在系统中添加更多内核,请参阅执行支持线程;
将大图像推送到固态驱动器,请参阅大图像支持。
如果这些选项过于严格,则可能会降低图像质量。默认构建是Q16 HDRI。如果禁用HDRI,则使用一半的内存而不是主要的浮点运算,您可以使用通常更有效的整数运算。折衷是精度降低,您无法处理超出范围的像素值(例如负数)。如果您构建Q8非HDRI版本的ImageMagick,您再次将内存需求减少一半 - 再次进行权衡,甚至更低的精度和没有超出范围的像素值。对于ImageMagick的Q8非HDRI版本,请使用以下配置脚本选项: - with-quantum-depth = 8 --disable-hdri。
社区
要加入ImageMagick社区,请尝试使用话语服务器。您可以查看ImageMagick用户提出的问题或评论(以及明智的回答)或提出您自己的问题。如果您想提供图像处理算法,其他增强功能或错误修复,请打开一个问题。