gm使用终端命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/maindek/article/details/83147172

GraphicsMagick介绍


GraphicsMagick是从 ImageMagick 5.5.2 分支出来的,但是现在他变得更稳定和优秀,GM更小更容易安装、GM更有效率、GM的手册非常丰富GraphicsMagick的命令与ImageMagick基本是一样的。

ImageMagick、GraphicsMagick的命令概览


[ convert | identify | mogrify | composite | montage | compare | display | animate | import | conjure ]

convert:转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,生成缩略图等。
identify:描述一个或较多图像文件的格式和特性。
mogrify:按规定尺寸*** 一个图像,模糊,裁剪,抖动等。Mogrify改写最初的图像文件然后写到一个不同的图像文件。
composite:根据一个图片或多个图片组合生成图片。
montage:创建一些分开的要素图像。在含有要素图像任意的装饰图片,如边框、结构、图片名称等。
compare:在算术上和视觉上评估不同的图片***其它的改造图片。
display:如果你拥有一个X server的系统,它可以按次序的显示图片
animate:利用X server显示动画图片
import:在X server或任何可见的窗口上输出图片文件。 你可以捕获单一窗口,整个的荧屏或任何荧屏的矩形部分。
conjure:解释执行 MSL (Magick Scripting Language) 写的脚本。

GraphicsMagick图像处理系统使用方法


  1. 显示图像文件详细信息

gm identify a.jpg

  1. 更改当前目录下*.jpg的尺寸大小,并保存于目录.thumb里面

gm mogrify -output-directory .thumbs -resize 320x200 *.jpg

  1. 将三幅图像和并为一副图像

gm montage -mode concatenate -tile 3x1 image1.ppm image2.ppm image3.ppm concatenated.miff

  1. 显示图像

gm display ‘vid:*.jpg’

  1. 格式转换

gm convert a.bmp a.jpg
gm convert a.bmp a.pdf(转换为pdf)

  1. 调整图像dpi和大小

gm convert -density 288 -geometry 25% image.gif image.gif
(缩小为原先的1/4,并且dpi为288)

gm convert -resize 640x480 image.gif image.gif

(转换为640x480的图像)

  1. 在图像上添加文字

gm convert -font Arial -fill blue -pointsize 18 -draw “text 10,10 ‘your text here’” test.tif test.png

扫描二维码关注公众号,回复: 4489294 查看本文章
  1. 从gif文件中抽取第一帧

gm convert “Image.gif[0]” first.gif

  1. 建立gif图像

gm convert -delay 20 frame*.gif animation.gif
gm convert -loop 50 frame*.gif animation.gif
(让动画循环50次)

gm convert -delay 20 frame1.gif -delay 10 frame2.gif -delay 5 frame3.gif animation.gif

(对每一帧手动指定延时)

  1. 截屏

gm import a.jpg
用鼠标点击所要截取的窗口,或者选择截屏区域,保存为a.jpg

> gm import -frame a.jpg

保留窗口的边框

GraphicsMagick常用管理命令


查看版本后安装情况:gm identify -version
结果::打印出信息

识别图片:

gm identify /Users/zhaorai/Pictures/照片/100CANON-1/IMG_4108.JPG

结果:/Users/zhaorai/Pictures/照片/100CANON-1/IMG_4108.JPG JPEG 3648x2736+0+0 DirectClass 8-bit 2.5M 0.000u 0:01

识别图片(高级):

gm identify -verbose /Users/zhaorai/Desktop/4.png

结果:打印出很多信息。

GraphicsMagick缩放比例的精准控制


原始图片是input.jpg,尺寸:160x120

  1. 只缩小不放大

gm convert input.jpg -resize “500x500>” output_1.jpg

加了>,表示只有当图片的宽与高,大于给定的宽与高时,才进行“缩小”操作。
生成的图片大小是:160x120,未进行操作
如果不加>,会导致图片被比等放大。
  1. 等比缩图 (缺点:产生白边)

gm convert input.jpg -thumbnail “100x100” output_1.jpg

生成的图片大小是:100x75
  1. 非等比缩图,按给定的参数缩图(缺点:长宽比会变化)

gm convert input.jpg -thumbnail “100x100!” output_2.jpg

生成的图片大小是:100x100
  1. 裁剪后保证等比缩图 (缺点:裁剪了图片的一部分)

gm convert input.jpg -thumbnail “100x100^” -gravity center -extent 100x100 output_3.jpg

生成的图片大小是:100x100,还保证了比例。不过图片经过了裁剪,剪了图片左右两边才达到1:1
  1. 填充后保证等比缩图 (缺点:要填充颜色,和第一种方法基本一样)

gm convert input.jpg -thumbnail “100x100” -background gray -gravity center -extent 100x100 output_4.jpg

生成的图片大小是:100x100,还保证了比例,同时没有对图片进行任何裁剪,缺失的部分按指定颜色进行填充。
  1. 裁剪、填充相结合 (缺点:最差的方法)

gm convert input.jpg -thumbnail "10000@ -background gray -gravity center -extent 100x100 output_5.jpg

生成的图片大小是:100x100,这次保证了大小和比例,其中的10000就是100x100的乘积,同时在填充和裁剪之间做了一个平衡。
  1. 位深度32 转为24
    IE6,7,8不支持显示“位深度32”的图片,但IE9、火狐、谷歌浏览器就可以显示。
    使用GM,把“位深度32”的图片转换为“位深度24”的图片
    输入图片zzz.jpg就是“位深度32”的图片,输出图片 zzz_out.jpg就是“位深度24”的图片

gm convert -resize 100x100 -colorspace RGB zzz.jpg zzz_out.jpg

转完后,图片的颜色会有轻微变化。

nodejs使用gm工具处理图片方案请移步

猜你喜欢

转载自blog.csdn.net/maindek/article/details/83147172