标题: [文件操作] [分享]批处理调用imagemagick把子文件夹下的图片拼接长图 [打印本页]
作者: Batcher 时间: 2021-11-6 22:04 标题: [分享]批处理调用imagemagick把子文件夹下的图片拼接长图
【问题描述】
用imagemagick怎么处理每个子文件夹下的图片单独拼接长图呢
"%montage%" "%%~i\*.jpg" -tile 1x2 -geometry +10+10 "%%~i\拼接-.jpg"
调整 1x2 来控制拼接的数量
怎样根据图片数量自动获取 1x2 这个值呢?
作者: Batcher 时间: 2021-11-6 22:04
【解决方案】- @echo off
- setlocal enabledelayedexpansion
- REM 处理该文件夹下(包括子文件夹)的图片
- set "SrcFolder=C:\Users\Administrator\Desktop\1"
- REM 根据自己电脑实际情况设置ImageMagick的路径
- set "path=C:\Program Files\ImageMagick;%path%"
-
- if not exist "%SrcFolder%" (
- echo 找不到待处理的图片文件夹
- pause
- goto :eof
- )
- for /f "delims=" %%i in ('dir /b /s /ad "%SrcFolder%"') do (
- set "n=0"
- for /f "delims=" %%j in ('dir /b /a-d "%%i\*.jpg"') do (
- set /a n+=1
- )
- echo 正在处理文件夹:%%i [包含!n!个jpg图片]
- montage.exe "%%~i\*.jpg" -tile 1x!n! -geometry +10+10 "%%~i\拼接.jpg"
- )
- pause
复制代码
作者: Batcher 时间: 2022-2-11 17:32
批处理调用 ImageMagick 应用实例汇总
把子文件夹下的图片拼接长图
http://bbs.bathome.net/thread-60605-1-1.html
把指定文件夹下的jpg图片合并转换成pdf
http://bbs.bathome.net/thread-60630-1-1.html
批处理+ImageMagick把每张图片单独转换一个pdf
http://bbs.bathome.net/thread-66410-1-1.html
批处理从指定像素点位置剪裁多个图片合成一个PDF文件
http://bbs.bathome.net/thread-62067-1-1.html
批量加相框阴影,然后缩放到背景图,背景图使用图片的主色调
http://bbs.bathome.net/thread-60512-1-1.html#pid247543
裁剪扫描图片的空白边缘
http://bbs.bathome.net/thread-41894-1-1.html
用 ImageMagick + Ghostscript 转换 PDF 为图片
http://bbs.bathome.net/thread-34312-1-1.html
生成图片的缩略图
http://bbs.bathome.net/thread-2764-1-1.html
生成图片的九宫格缩略图
http://bbs.bathome.net/thread-62743-1-1.html
批处理批量剪裁目录下图片 从底部剪裁25个像素
http://bbs.bathome.net/thread-62466-1-1.html
图片的水平翻转和左右拼接
http://bbs.bathome.net/thread-64896-1-1.html#pid263482
只转换指定像素的图片
http://bbs.bathome.net/thread-65579-1-1.html#pid266428
作者: vvei 时间: 2024-10-17 03:00
本帖最后由 vvei 于 2024-10-17 03:02 编辑
回复 2# Batcher
新手,
不知道为什么无效
montage.exe "*.jpg" -tile 1x2 -geometry +10+10 "拼接.jpg"
就没问题
作者: aloha20200628 时间: 2024-10-18 21:45
本帖最后由 aloha20200628 于 2024-10-18 21:59 编辑
回复 4# vvei
以下代码存为 test.bat 运行,须从本坛第三方下载 montage.exe(7.0.3.7版 或 6.9.2.6版)http://bcn.bathome.net/s/tool/index.html?key=montage 置于 test.bat 同目录
备注》若采用从官网下载的最新版 montage.exe 会因其默认utf-8编码导致中文路径文件名可能出错...
- @echo off & (for /r /d %%d in (*) do if exist "%%d\*.jpg" for /f %%n in (
- 'dir /b/a-d "%%d\*.jpg"^|find /c /v "" '
- ) do montage.exe "%%d\*.jpg" -tile 1x%%n -geometry +10+10 "%%d\%%~nd@拼接.jpg") 2>nul
- pause&exit/b
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |