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

2019-02-12 16:36:23

本文使用GraphicsMagick的版本为1.3.18 (Released March 9, 2013)。

1.简介

GraphicsMagick是一个短小精悍的的图片处理工具和库集合。对于Java开发者来说,常用的图片处理工具有3个,JDK自带的图片处理库,ImageMagick,GraphicsMagick。JDK自带的图片处理库,虽稳定简单,性能却比较差;ImageMagick是目前最流行的图片处理工具,它的功能非常丰富;GraphicsMagick的功能略逊于ImageMagick,但是它的效率更强悍,但大多数情况下,GM的功能已经足够使用了。

功能特色:

(1)使用OpenMP进行多线程图片处理,增强了通过扩展CPU提高处理能力。 

(2)支持大图片的处理,并且已经做过GB级别的图像处理实验。

(3)能够动态的生成图片,特别适用于互联网的应用。

支持格式:超过88种图像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。

支持平台:Linux、Mac、Windows。

使用方式:GaphicsMagick支持命令行的模式,同时也支持C、C++、Perl、PHP、Tcl、 Ruby等的调用。

2.安装与配置

下载地址:http://www.graphicsmagick.org/download.html

关于版本中的Q8,Q16的说明:

Q8表示: 8-bits per pixel quantum
Q16表示:16-bits per pixel quantum

现在数码相机照的相片,每一种颜色就是8位深,所以建议选Q8。
而使用16-bit per pixel quantums在处理图片时比8-bit慢15%至50%,并须要更多的内存。

(1)Windows下,下载安装包后直接安装即可。

(2)Linux下,与普通的程序安装无异,即解压后到根目录执行以下命令。


./configuremakemake install
PS:如果遇到无法执行的情况,使用root权限进行操作。


3.常用操作

以下说明的是使用命令行的方式。

(1)查看图片信息


gm identify input.jpg
(2)生成缩略图


gm convert input.jpg -thumbnail 100x100 output.jpg

(3)添加水印


gm composite -geometry 100x100% -gravity SouthEast logo.png input.jpg output.jpg

4.更多参考

im4java官方网站:http://im4java.sourceforge.net/index.html         

im4java的api:http://im4java.sourceforge.net/api/         

graphicsmagick的官方网站:http://www.graphicsmagick.org/index.html         

graphicsmagick的命令行参数解析:http://www.graphicsmagick.org/utilities.html




  • 2020-05-20 22:29:05

    javascript中为何在匿名function函数后面还外加

    它可以解释成为“匿名函数自调用”,也就是说,定义一个匿名函数,然后马上调用它(因为它是匿名的,如果不立即调用就获取不到该函数的引用了)。通常它被应用在一些大型的JS框架中(如上面所说的),因为这个匿名函数的函数体相当于提供一个匿名的名字空间,这样就不会再与用户自定义的JS函数、变量、对象发生冲突了。尽管JS没有显示地提供命名空间的定义和使用机制,但这种匿名方式却不失为是一种很好的解决命名空间问题的方法。

  • 2020-05-20 22:30:14

    js中利用prototype给类添加方法

    你可能会想,这不就是个简单的函数声明?没错,这个函数就是一个类的定义的实现。如何使用这个类呢?看下面的代码:var cls1 = new MyClass(); 这样,利用new就可以生成MyClass的一个实例了。所以在js中可以说函数就是类,类就是函数。

  • 2020-05-21 10:56:53

    fixed z-index失效

    作为一个假的前端,在调试一个页面时出现了如下bug。 左侧的菜单固定为fixed时,二级菜单无法设置有效的z-index,导致菜单隐藏在页面元素之下,明明页面元素的z-index是1,但是无论把菜单的z-index设置为多大,都不管用。