ImageMagick之图片缩放

本文详细介绍了如何使用ImageMagick的convert命令进行图片缩放,包括等比例缩放、固定宽高缩放和有条件缩放。通过resize参数,可以实现对图片尺寸的灵活控制,如指定宽高、只指定一维、以及设置缩放条件。在等比例缩放中,图片会保持原有比例,而在固定宽高缩放中,可能会导致图片变形。此外,还可以结合条件符号(>或<)来决定何时进行缩放,避免不必要的放大或缩小操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ImageMagick之图片缩放

利用ImageMagicK的convert命令,能很方便的实现图片的放大缩小,可以进行等比例缩放,也能缩放到指定的固定大小。缩放的参数resize,由它来指定缩放后图片的宽高,比如“200×100”。

  • 等比缩放

例如把图片a.jpg缩放到200×100的尺寸,可以用命令:

convert -resize 200x100 src.jpg dest.jpg

注意:虽然明确指定了图片大小为200×100,但dest.jpg的不一定就是200×100,因为是等比缩放的,dest.jpg大小取决原始图片比例。假设src.jpg的大小是500×200,那么缩放后dest.jpg的真实大小为200×80,再比如src.jpg的大小是300×200,缩放后的尺寸为150×100。原则是缩放后的尺寸最少有一个是符合宽或高,且另外一个不能大于指定的参数中对应的宽或高。另外可以通过只指定宽或高的方式来进行缩放。例如:

convert -resize 200 src.jpg dest.jpg

得到图片宽为200,高根据原始图片比例计算而来

convert -resize x100 src.jpg dest.jpg

得到的图片高为100,宽根据原始图片比例计算而来

  • 固定宽高缩放

即不考虑原是图宽高的比例,把图片缩放到指定大小。例如命令:

convert -resize 200x100! src.jpg dest.jpg

说明:区别是宽高后面多了一个叹号,此时不管原图片比例如何,缩放后的图片大小都是200×100,这样就可能导致图片变形。注意:在linux环境对参数需要用单引号引起来,而windows下又不能使用单引号。

  • 有条件缩放

可以通过>或<符号来控制原始图片是否进行缩放,例如在处理一批尺寸大小各异的图片,只想在尺寸大于给定值的情况下,图片才进行缩放,如果没有指定条件,可能会把那些小的图片进行了放大处理。

convert -resize "200x100>" src.jpg dest.jpg

注解:只有当src.jpg的宽大于200或高大于100时候,才进行缩小处理,否则生成的dest.jpg和src.jpg具有一样的尺寸。注意在linux下要用单引号替换双引号,即'200x100>'。

convert -resize "200x100<" src.jpg dest.jpg

注解:只有当src.jpg的宽小于200或高小于100时候,才进行放大处理,否则生成的dest.jpg和src.jpg具有一样的尺寸。注意在linux下要用单引号替换双引号,即'200x100<'

上述两种有条件缩放是按原始图等比例缩放的,也就是对符合条件的图片进行等比缩放。同时有条件缩放也可以与固定大小缩放联合起来用。例如如下命令:

convert -resize "800x100>!" src.jpg dest.jpg

注解:假设src.jpg尺寸是300x200。很显然src.jpg的宽(200)是大于指定值宽(100),符合缩小的条件,由于执行的不是等比缩放,所以dest.jpg的尺寸理论上是800x100,但是800是超过原始图片宽的,故dest.jpg的宽只能是300

convert -resize "10x1000<!" src.jpg dest.jpg

注解:假设src.jpg尺寸是300x200,src.jpg的宽(200)小于指定值宽(1000),因此该命令将执行放大图片操作,dest.jpg的高将放到到1000,由于宽比原始图片还小,就用原始图片的宽,所以得到的dest.jpg的尺寸是300x1000。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值