ImageMagick还有一个小工具identify,它可以用来显示一个图片文件的详悉信息,比如格式、分辨率、大小、色深等等,你都可用它来帮你的忙。
convert 转换图像格式和大小,模糊,裁剪,驱除污点,抖动,临近,图片上画图片,加入新图片,生成缩略图等。
identify 描述一个或较多图像文件的格式和特性。
composite 根据一个图片或多个图片组合生成图片
举个例子
convert +profile '*' [src]{file}.{ext} -quality 80 -resize '280x140^>' -gravity Center -crop 280x140+0+0 +repage [out]{file}_280x140.{ext}
把一张图片按80的质量去压缩(jpg的压缩参数),同时按图片比例非强制缩放成不超过280x140的图片.居中裁剪280x140,去掉图片裁减后的空白和图片exif信息,通常这种指令是为了保证图片大小正好为280x140
下面对各个指令的含义简要说明
-quality 图片质量,jpg默认99,png默认75
-resize
100x100 高度和宽度比例保留最高值,高比不变
100x100^ 高度和宽度比例保留最低值,宽高比不变
100x100! 宽度和高度强制转换,忽视宽高比
100x100> 更改长宽,当图片长或宽超过规定的尺寸
100x100< 更改长宽 只有当图片长宽都超过规定的尺寸
100x100^> 更改长宽,当图片长或宽超过规定的尺寸。高度和宽度比例保留最低值
100x100^< 更改长宽,只有当图片长宽都超过规定的尺寸。高度和宽度比例保留最低值
100 按指定的宽度缩放,保持宽高比例
x100 按指定高度缩放,保持宽高比
-gravity NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast截取用的定位指令,定位截取区域在图片中的方位
-crop 200x200+0+0 截取用的截取指令 ,在用定位指令后,按后两位的偏移值偏移截取范围左上角的像素后,再按前两位的数值,从左上角开始截取相应大小的图片
+ epage 去掉图片裁减后的空白
-dissolve 30 设定组合图片透明度dissolve示例
+/-profile * 去掉/添加图片exif信息
下面记录下一些比较复杂一点的指令:
convert +profile '*' [src]{file}.{ext} -quality 90 -resize '700>' /data/tony/watermark_1.png -gravity southeast -compose Dissolve -composite [out]{file}_1024x1024.{ext}
convert +profile '*' [src]{file}.{ext} /data/watermark_1.png -gravity southeast -geometry +10+10 -composite [src]{file}.{ext}
convert +profile '*' [src]{file}.{ext} -coalesce -resize '950x135>' [out]{file}_950x135.{ext}
convert +profile '*' [src]{file}.{ext} -resize '650x500>' miff:- | composite +profile '*' -dissolve 30 -gravity southeast /data/tony/watermark_1.png - [out]{file}_650x500.{ext}
convert [src]{file}.{ext} -quality 80 -resize '190>' -background white -gravity center -extent 190x +repage [out]{file}_width190.{ext}
【/bin/sh^M: bad interpreter: 没有那个文件或目录】
vim filename
然后用命令
:set ff? #可以看到dos或unix的字样. 如果的确是dos格式的。
然后用
:set ff=unix #把它强制为unix格式的, 然后存盘退出。
convert功能强大,用来批处理图片的放大、缩小、裁剪、旋转、合并、水印、拼接、格式转换等都非常方便,特别适合后台的图片处理。
1,获取图片信息
$identify image.png image.png PNG 559x559 559x559+0+0 8-bit sRGB 467KB 0.000u 0:00.008
如果只需要获取宽高:
$identify -format "%wx%h" image.png
2,放大,缩小 -resize
$convert image.png -resize 200x200 resize.png
>
也可以按照比例(缩小一半):
$convert image.png -resize 50% resize.png
还可以多次缩放(先缩小一半,再放大一倍,效果就是变模糊了):
$convert image.png -resize 50% -resize 200% resize.png
3,放大,缩小 -sample
与resize的区别在于-sample只进行了采样,没有进行插值,所以用来生成缩略图最合适
$convert image.png -sample 50% sample.png
这个处理的效果就是马赛克:
$convert image.png -sample 10% -sample 1000% sample.png
4,裁剪 -crop
从(50,50)位置开始,裁剪一个100X100大小的图片:
$convert image.png -crop 100x100+50+50 crop.png
如果不指定位置,则按照这个大小分隔出小图片,这个命令生成crop-0.png,crop-1.png,crop-2.png……:
$convert image.png -crop 100x100 crop.png
可以指定裁剪位置的相对位置 -gravity:
$convert image.png -gravity northeast -crop 100x100+0+0 crop.png
-gravity即指定坐标原点,有northwest:左上角,north:上边中间,northeast:右上角,east:右边中间……
5,旋转 -rotate
$convert image.png -rotate 45 rotate.png
默认的背景为白色,我们可以指定背景色:
$convert image.png -backround black -rotate 45 rotate.png $convert image.png -background #000000 -rotate 45 rotate.png
还可以指定为透明背景色:
$convert image.png -background rgba(0,0,0,0) -rotate 45 rotate.png
6,合并
合并指的是将一张图片覆盖到一个背景图片上:
$convert image.png -compose over overlay.png -composite newimage.png
-compose指定覆盖操作的类型,其中over为安全覆盖,另外还有xor、in、out、atop等等
覆盖的位置可以通过-gravity指定:
$convert image.png -gravity southeast -compose over overlay.png -composite newimage.png
这是将图片覆盖到底图的右下角。
7,更改图片的alpha通道
分两步:
$convert image.png -define png:format=png32 image32.png $convert image32.png -channel alpha -fx "0.5" imagealpha.png
这个命令首先将image.png的格式改为png32(确保有alpha通道),然后更改alpha通道置为0.5,也就是半透明,值的范围为0到1.0
可以使用将一张透明图片覆盖到原图上的方式做水印图片:
$convert image.png -gravity center -compose over overlay.png -composite newimage.png $convert image.png -gravity southeast -compose over overlay.png -composite newimage.png
8,拼接
横向拼接(+append),下对齐(-gravity south):
$convert image1.png image2.png image3.png -gravity south +append result.png
纵向拼接(-append),右对齐(-gravity east):
$convert image1.png image2.png image3.png -gravity east -append result.png
9,格式转换
$convert image.png image.jpg $convert image.png -define png:format=png32 newimage.png
10,文字注释
$convert image.png -draw "text 0,20 'some text'" newimage.png
从文件text.txt中读取文字,指定颜色,字体,大小,位置:
$convert source.jpg -font xxx.ttf -fill red -pointsize 48 -annotate +50+50 @text.txt result.jpg
11,去掉边框
$convert image.png -trim -fuzz 10% newimage.png
京喜app是一款京东旗下推出的网购电商平台,京喜app里面能够帮助你省下的大量的金额,很多的优惠卷免费发送,先领劵在购物省一大笔钱。还有每天推荐精品好货为你提供最优质的商品,精细分类让你挑选起来更简易,需要的用户快来下载体验把。
旅行串串游戏下载是一款非常好玩的休闲经营养成类型游戏,旅行串串游戏安卓下载在游戏剧情里,你跟女友辞去了工作,来了一场说走就走的旅行,旅途中你会看到世界各地的文化、风景、美食等。非常的有意思。赶快下载试试。
泡沫冬景破解版是一款今年超级火爆galgame。泡沫冬景破解免费版游戏正版是要收费18元才能玩的,小编在这里找到了一个免费的下载渠道,但内容是跟正版一模一样的哦。喜欢这款游戏的欢迎来ucbug下载站下载体验。
百度地图2020最新版是一款最新的地图导航手机软件,百度地图2020最新手机版软件内有着全网最新的地图路线,而且增添了许多实用功能,可以看到公交车的实时定位,也可以直接在地图软件上预估打车价格等等。非常方便。
高德地图手机版是目前手机上最好用的一款地图软件之一,高德地图手机版软件内有着非常精准的定位系统,包括的人的朝向都能够清晰观察到。软件内还有实时路况播报,方便你开车时避开高峰路段,节省路途时间。
1号店app是一款非常好用网上电子商务平台。1号店app可以说是一家网上百货超市,几乎所有日常生活用品等可以在1号店上进行购买,覆盖食品、饮食、进口商品、服饰、鞋帽、清洁用品、数码、家电等非常多的种类。同时1号店拥有独具特色的集成供应链既保证了商品质