多语言展示
当前在线:315今日阅读:142今日分享:25

ImageMagick缩放图片

ImageMagick是一个用于查看、编辑位图文件以及进行图像格式转换的开放源代码软件套装。它可以读取、编辑超过100种图象格式。ImageMagick以ImageMagick许可证(一个类似BSD的许可证)发布。由于它可以以命令的形式修改图片,所以它可以轻易地结合编程语言批量处理图片。它经常被用于服务器上,用于添加水印之类的特效,分割、组合图片等。本文将介绍它在缩放图片方面的一些命令,以后再逐渐涉及更深的内容。1使用GIMP将图片精确缩放到指定大小
工具/原料
1

ImageMagick

2

终端

缩放图片
1

我拿系统自带的一张壁纸作为例子。我要做一个缩略图,可以执行命令:convert -resize 100x100 paisaje.jpg paisaje_resize1.jpg最后两个文件分别是输入文件和导出文件。

2

注意:虽然明确指定了图片大小为100×100,但paisaje_resize1.jpg的不一定就是100×100,因为是等比缩放的,大小取决原始图片比例。原则是缩放后的尺寸最少有一个是符合宽或高,且另外一个不能大于指定的参数中对应的宽或高。这是执行上面命令后生成的图片。

3

另外可以通过只指定宽或高的方式来进行缩放。例如:convert -resize 100 paisaje.jpg paisaje_resize1.jpg此时,宽就被固定为100,而高则按比例变化。如果要固定高,则将上面的参数改为x100。下图可以看到图片分别固定宽和高后像素大小属性。

4

固定宽高缩放。即不考虑原是图宽高的比例,把图片缩放到指定大小。例如命令:convert -resize 1440x1440! paisaje.jpg paisaje_resize1.jpg下方是最固定比例后最终生成的图片。

5

有条件缩放。可以通过>或<符号来控制原始图片是否进行缩放,例如在处理一批尺寸大小各异的图片,只想把尺寸大于给定的值图片才进行缩小,如果没有指定条件,可能会把那些小的图片进行了放大处理。比如,参数为200x100>设定当图片的宽大于200或高大于100时候,才进行缩小处理。而200x100<则指当宽或高小于指定参数时才进行缩放。由于>在shell中有其他含义和作用,免于产生歧义,此处需要将参数用单引号包含。下图是各参数的作用。

6

有些参数可以联合起来运用。比如将参数定为800x100>!。假设图片尺寸是300x200。很显然高(200)是大于指定值高(100), 符合缩小的条件,由于执行的不是等比缩放, 所以dest.jpg的尺寸理论上是800x100,又由于执行是缩小操作 显然800是超过原始图片宽的,故dest.jpg的宽只能是300。由于>在shell中有其他含义和作用,免于产生歧义,此处需要将参数用单引号包含。下图是执行convert -resize 2000x1500>! paisaje.jpg paisaje_resize4.jpg后生成的图形和相应属性(原图像素大小为2560X1440)。

7

参数也可以用百分比,这样就会更直观。如:convert -resize 50%x50% paisaje.jpg paisaje_resize2.jpg下图是最终效果。

8

在切换目录后,我们还可以利用这个命令批量生成缩略图:mogrify -sample 200x100 *.jpg注意,这个命令会覆盖当下目录原来的jpg格式的图片,不过你可以在操作前,先把你的图片备份一下。

注意事项

由于一些特殊符号在命令行中有其特殊作用,作为参数时为了回避冲突,需要对参数加单引号。

推荐信息