一、安装

mac下的安装非常简单

brew search ImageMagick
brew install xxx

安装后,可验证

magick logo: logo.gif
identify logo.gif
display logo.gif

 更多安装方式参考:http://www.imagemagick.org/script/download.php

二、命令介绍

命令概览

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

ImageMagick有一个小工具identify,它可以用来显示一个图片文件的详悉信息,比如格式、分辨率、大小、色深等等
identify xxx.png
identify -format "%wx%h" image.png
只获取图片的宽高


2.2 convert

格式:

convert foo.jpg foo.png

convert *.jpg  foo.pdf
转换当前目录所有jpg文件为一个pdf文件

mogrify -format png *.jpg
批量转换当前目录所有jpg为相应的png


大小:

convert -resize 100x100 foo.jpg thumbnail.jpg
转换原图为100*100的缩略图

convert -resize 50%x50% foo.jpg thumbnail.jpg
百分比转换缩略图

convert -resize 200% foo.jpg big.jpg
即放大图片,效果就是模糊了

convert -resize "500x300>" input.jpg  output.jpg
如果图片比500x300小就保持原样,以防小图片被放大失真

convert -sample 50% foo.jpg thumb.jpg
利用sample缩小图片

mogrify -sample 80x60 *.jpg
批量生成缩略图,会覆盖原有图像

convert -sample 10% -sample 1000% image.png sample.png
先缩小在放大,形成马赛克效果,用resize,无此效果
与resize的区别在于-sample只进行了采样,没有进行插值,所以用来生成缩略图最合适


裁剪:

convert -crop 100x100+50+50 image.png crop.png
从50x50位置开始,相对于图片左上角,裁剪100x100大小的图片
如果不指定位置,则按照这个大小分隔出小图片,这个命令生成crop-0.png,crop-1.png,crop-2.png……:

convert  -gravity northeast -crop 100x100+0+0 image.png crop.png
-gravity即指定坐标原点,有northwest:左上角,north:上边中间,northeast:右上角,east:右边中间...


旋转:

convert -rotate 30 foo.png bar.png
上面的30,表示向右旋转30度,如果要向左旋转,度数就是负数

convert -background #000 -rotate 30 foo.png bar.png
黑色背景 @todo 不支持
convert -background rgba(0,0,0,0) -rotate 30 foo.png bar.png
透明背景


合并:
合并指的是将一张图片覆盖到一个背景图片上

convert -compose over overlay.png -composite image.png  newimage.png  
-compose指定覆盖操作的类型,其中over为安全覆盖,另外还有xor、in、out、atop等等

覆盖的位置可以通过-gravity指定
convert -gravity southeast -compose over overlay.png -composite image.png newimage.png 


拼接:
横向拼接(+append),下对齐(-gravity south)
纵向拼接(-append),右对齐(-gravity east)

convert image1.png image2.png image3.png -gravity south +append result.png  
convert -gravity south +append image1.png image2.png image3.png result.png



边框:

convert -mattecolor "#000000" -frame 60x60 yourname.jpg rememberyou.png
图片四周加边框,"#000000"是边框的颜色,边框的大小为60x60

convert -border 60x60 -bordercolor "#000000" yourname.jpg rememberyou.png
上边一样的效果

convert -trim -fuzz 10% image.png newimage.png
去掉边框


图片加文字:

convert -fill green -pointsize 40 -draw 'text 10,50 "charry.org"' foo.png bar.png
上面的命令在距离图片的左上角10x50的位置,用绿色的字写下charry.org,如果你要指定别的字体,可以用-font参数


模糊:

convert -blur 80 foo.jpg foo.png
高斯模糊 -blur参数还可以这样-blur 80x5。后面的那个5表示的是Sigma的值,这个是图像术语
80x50 比 80x5要模糊


翻转:

convert -flip foo.jpg bar.jpg
convert -flop foo.jpg bar.jpg
-flip 上下翻转 
-flop 左右翻转


反色:

convert -negate foo.jpg bar.jpg
形成底片的样子


单色:

convert -monochrome foo.png bar.png
黑白图片


加噪声:

convert -noise 3 foo.png bar.png


油画效果:

convert -paint 4 foo.png bar.png
数值越大,越模糊,越油


炭笔效果:

convert -charcoal 2 foo.png bar.png
形成炭笔或者说是铅笔画的效果
数值越大,铅笔颜色越重越黑


散射:

convert -spread 30 foo.png bar.png
毛玻璃效果
数值越大,越模糊


旋涡:

convert -swirl 67 foo.png bar.png
以图片的中心作为参照,把图片扭转,形成漩涡的效果
数值越大,旋涡越大


凸起效果:

convert -raise 5x5 foo.png bar.png
照片的四周会一个5x5的边,如果你要一个凹下去的边,把-raise改为+raise就可以了


质量和profile:

影响图片大小(占用空间)主要取决于图片的profile和quality

convert -quality 85 src.jpg src-quality85.jpg
设置质量为原来的85,减少图片的大小

convert +profile “*” -strip src.jpg src-profile.jpg
去掉图片的描述信息,减少图片的大小
View Code

相关文章:

  • 2021-10-07
  • 2022-12-23
  • 2022-12-23
  • 2021-05-01
  • 2022-12-23
  • 2021-08-18
猜你喜欢
  • 2021-10-27
  • 2021-12-27
  • 2021-07-12
  • 2021-07-18
  • 2021-12-30
  • 2021-09-02
  • 2021-09-18
相关资源
相似解决方案