使用Windows批处理+ImageMagick 实现批量处理图片

一、前言

本文介绍了ImageMagick命令处理图片的方法,以及如何与Windows批处理结合,并以批量压缩图片为例做了简单演示。由于知识水平的局限,不妥之处还请批评指正。

二、实现思路

1、windows批处理中for命令来对文件进行批量操作。

2、ImageMagick是一款强大的图像处理软件,可以使用命令行来操作图片文件。

3、以上两者的结合使用可以实现对图片文件的批量处理。

三、ImageMagick命令举例

ImageMagick下载地址ImageMagick – Download

详细用法可以参考官方说明Anatomy of the Command-line

这里仅仅是共享一下最近用到的命令行(需要提前配置环境变量)写法。

1、格式转换

magick convert 1.jpg 2.jpg 3.jpg book.pdf

解释:将 1.jpg 2.jpg 3.jpg 按照顺序合并为book.pdf

2、压缩图片

magick convert -resize 700 a.png a1.png

解释:得到图片宽为700,高根据原始图片比例计算而来

3、合并两张图片

magick convert -append a1.png b1.png c1.png

解释:竖直方向合并两张图片

4、切割图片

magick convert 1.jpg  -crop 200x210+10+10 1-1.jpg

解释:从1.jpg的(10,10)为起点,截取宽200像素,长210像素的的区域为1-1.jpg

5、图片上加文字

mogrify -font "Microsoft-YaHei-&-Microsoft-YaHei-UI" -pointsize 48 -fill white -weight bolder -annotate +300+100 "入参文本" 图片20210112130842.png

解释:在图片20210112130842.png的(300,100)处加上大小为48的、白色的、字体为"Microsoft-YaHei-&-Microsoft-YaHei-UI“的文字“入参文本”。

四、批量处理图片

批量处理图片就是在ImageMagick命令上套用批处理for命令及其他命令,这里以压缩图片为例。

for /f "delims=" %i in ('dir /b /a-d') do (magick convert -resize 700 %i %i)

解释:读取当前目录下(含子文件夹)所有文件,对读取的文件执行压缩为宽为700,比例不变的命令。注:以上代码在命令行执行,批处理执行需要将%i改成%%i。

如果需要判断文件后缀等操作则还需要引入分支、截取字符串等操作,这里暂不叙述。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值