引自:http://co63oc.blog.51cto.com/904636/328997

ImageMagick(IM) 套装包含的命令行图形工具是一主要自由软件;Linux,其他类Unix操作系统,专有的操作系统像Windows支持IM差不多两个十年。但还是存在一个选择,称为GraphicsMagick(GM),覆盖了大多数一样的功能。那你怎么知道哪一个是适合你的?

虽然IM把它的历史回到1987年,当它是一个内部的工具的时候,在 DuPont被开发,第一次公共的源代码发布是1990年。核心包是一系列分离的命令行的集合:animate,compare,display,identify,mogrify等等。

因为它的命令行接口暴露了这么些功能,IM有一段长时间被用在脚本,自动化处理。它处理服务器端图片操作,在web应用程序,像个人图片库,wikipedia一样变化。随着时间过去,接口支持许多流行的语言,把IM开放给程序员,像一个系统库。

从这些了解,问题开始了。IM并不是一个库—它是一套不连续的命令行执行程序。但是越来越多的编程者开始使用IM通过它的语言接口,库的概念逐渐进入。库需要考虑事情,比如应用程序二进制接口(ABI),它的稳定性--但是交互的命令不需要。

多个核心IM开发者,对ABI的稳定性问题更感兴趣,产生的结果是有一个IM的分支,开始一个新的项目,提高优先级,在ABI方面和长期的稳定性上,相对增加新的特征而言。这个项目变为 GraphicsMagick,在2003年4月从 ImageMagick分离出来。

确实如它所说,GM增加了较少的特征,从它最初开始,相比IM同样的时间线上。GM提供了同样的重要的工具,在IM中的--IM只是在这些年增加了更多选项。

为了不覆盖IM提供的命令,GM封装所有的命令为一个:gm。同样的IM的名字作为它的第一个参数。例如,在IM用 convert photograph.jpg photograph.tiff,在GM中用 gm convert photograph.jpg photograph.tiff。

选择,选择...

这个决定在GM小组中意味GM和IM能友好地在一个系统中共存。所以你要使用哪一个?明智的做法是你使用IM处理交互任务,使用GM在脚本或服务器端安装。事实上,许多第三方应用和框架习惯只依赖IM的现在也支持GM—例子包含Gallery,Exhibit Engine,TYPO3,和RMagick。

但是实际上你并不喜欢体验ImageMagick的稳定性问题,在脚本或Web应用中。这些抱怨升级,在IM-GM产生的争论中,IM改变它的语法在成功发布的版本中。但是你要多经常去更新IM程序,在一个服务器上?ABI改变对你有些影响这还不够,特别地,当你考虑到90%的IM使用是限制在呆板的操作,像改变大小和比例。

在另一方面,如果你考虑你可能需要一个命令行工具操作图形,在X图形PC上,通常因为工具是一个选择,而GUI的图形编辑器并不支持,或者作为批处理节省时间的因素,在非常大的文件(特别高位深图片)。我常常发送数字图片给专业图片打印机,它需要特别设置颜色空间和嵌入的配置,在一些情况下,Linux下用IM转换文件给机器是唯一的选择。像GIMP,Krita,CinePaint支持的新的特征和格式经常是首先发送给IM。
如果你正在开发一个应用或工具,花一些时间去熟悉语言绑定,对于IM和GM;合适的绑定可能在其中一个,这样选择就明显了。除非你绝对不怀疑需要一些新的IM选项,而GM中无效,安全的投注是针对GM的特征集,并让你的应用可以和任何一个一起工作。

在过去一些年,GM的开发分支开始增加一些新的特征,IM的新的贡献者的注意力集中在稳定套件的语法,所以包之间的区别是狭小的。站在一个社区点的位置,是不想看到一个不友善的项目产生,即使是技术的原因。我并不建议某一天IM和GM项目合并,但是希望美好地看到他们能像植物交叉授粉,继续互相学习。

转载于:https://www.cnblogs.com/tingfengainiaini/p/4737613.html

ImageMagick还是GraphicsMagick?相关推荐

  1. ImageMagick简介、GraphicsMagick、命令行使用示例

    2019独角兽企业重金招聘Python工程师标准>>> ImageMagick资料 ------------------------------------------------- ...

  2. im4java+ImageMagick/GraphicsMagick

    im4java的jar包可以在maven库中找到. <dependency><groupId>org.im4java</groupId><artifactId ...

  3. ImageMagick/GraphicsMagick 图片裁剪为固定大小缩略图

    图片裁剪,如果你想批量生成缩略图的时候,用ImageMagick/GraphicsMagick是非常方便的: convert -resize 100x80 sample.jpg thumb.jpg 这 ...

  4. 【转载】尝试使用GraphicsMagick的缩略图功能

    原文地址:http://hi.baidu.com/thinkinginlamp/blog/item/4b61e9241f08820f4c088d95.html 尝试使用GraphicsMagick的缩 ...

  5. graphicsmagick im4java,GraphicsMagick+im4java 图片处理

    最近团队内部分享GraphicsMagick+im4java 图片处理 就把如何安装,运行都统一整理一下. 详细如下: 在windows上安装ImageMagick: 关于Q8,Q16,Q32的说明: ...

  6. GraphicsMagick+im4java图片处理

    GraphicsMagick+im4java图片处理 一.windows上安装ImageMagick(参考:https://my.oschina.net/roaminlove/blog/96279) ...

  7. 图片工具GraphicsMagick的下载安装配置使用

    转自:图片工具GraphicsMagick的下载安装配置使用,更优阅读体验:http://www.kongzid.com/ 目录 1.概述 2.下载 2.1 进入官网地址 2.2 进入版本列表页面 2 ...

  8. 图片工具GraphicsMagick的安装配置与基本使用

    本文使用GraphicsMagick的版本为1.3.18 (Released March 9, 2013). 1.简介 GraphicsMagick是一个短小精悍的的图片处理工具和库集合.对于Java ...

  9. centos7x64搭建php,2# CentOS 6.7 x64 Apache/PHP/Mariadb环境搭建

    使用修改过的OneinStack工具安装Apache2.4.18/PHP5.6.20/MariaDB10.1.13 修改内容: 增加apache-2.4.sh编译参数 [ --enable-dav - ...

最新文章

  1. 删除隐藏的旧网卡信息的解决办法
  2. Linux驱动基础:msm平台,modem等framework加载
  3. Python 计算机视觉(六)—— OpenCV 进行图像量化与采样
  4. Hive体系结构(四)注意事项与扩展特性
  5. 优秀开源项目:MyXls
  6. IntelliJ IDEA scala的源码设置
  7. 黑马程序员---JVM内存组成
  8. 回顾Swift 3,展望Swift 4
  9. IndexedQueueT——C#中的自定义队列
  10. linux交换分区概念,关于linux:Linux交换空间swap讲解
  11. 苹果分屏软件_Mac软件推荐
  12. Unity基础知识之协程
  13. 模式识别、机器学习的区别和联系
  14. 纯css实现icon的网站,代码可复制
  15. 金山卫士开源软件之旅(九) KUI高级界面(列表控件、树控件例子、超文本、网页控件)
  16. 二叉树的顺序存储和三种遍历(代码)
  17. 教师利用计算机中的视频图片,多媒体在计算机教学中的作用
  18. Linux 下的分屏利器-tmux安装、原理及使用
  19. matlab报错slcc_interface_z6c0T9v%^%$
  20. 十六进制转换为ASC码

热门文章

  1. 另一种将线程并入应用程序的方法-委托
  2. ASP.NET中的FILE对象总结
  3. MySql 一条更新语句是如何执行的? MySql杂谈、MySql WAL 技术
  4. 精通Android自定义View(十七)自定义圆形鸟巢加载转圈效果
  5. Mr.J-- HTTP学习笔记(五)-- Web服务器
  6. iOS 多线程的简单理解(1) 方式 :同步 异步
  7. MapReduce中的排序(附代码)
  8. html5-svg和Two.js的使用方法(附案例)
  9. I - Defeat the Enemy UVALive - 7146 二分 + 贪心
  10. 安装配置gitlab