效果展示
将多张图片添加边框并拼合成一个图片
安装Imagemagick
Mac可以用homebrew安装
brew install imagemagick
安装脚本
打开代码编辑器,如vscode,将如下脚本复制粘贴保存在根目录,我这里命名为frame_combine
#!/bin/zsh
target_folder="$1"
# 创建子文件夹 resized(如果不存在)
mkdir -p "$target_folder/resized"
# 遍历所有 .jpg 文件
find "$target_folder" -type f -name "*.jpg" | while read -r file; do
dir=$(dirname "$file")
mkdir -p "$dir/resized"
# 获取原始文件的文件名(包含扩展名)
filename=$(basename "$file")
# 设置新文件的路径和名称
new_file="$dir/resized/$filename"
# 使用 ImageMagick 进行图片处理
magick "$file" -resize 1066x1066 -background white -gravity center -extent 1080x1080 -bordercolor white -border 0x0 "$new_file"
done
# 在 $target_folder 下的 resized 目录中操作
cd "$target_folder/resized" || exit
# 初始化文件路径字符串
file_paths=()
# 读取所有文件并保留特殊字符(空格等)
find "$(pwd)" -type f -name "*.jpg" -print0 | while IFS= read -r -d '' file; do
file_paths+=("$file")
done
# 使用 montage 命令生成拼接的图片
montage "${file_paths[@]}" -geometry +0+0 -resize "x1080^>" merge.jpg
echo "拼接图片已生成: $(pwd)/merge.jpg"
打开终端,将文件复制到/usr/local/bin
sudo cp frame_combine /usr/local/bin
给予执行权限
sudo chmod +x /usr/local/bin/frame_combine
在终端里输入
frame_combine $需要整理的图片文件夹绝对目录
回车运行,即可在图像文件夹-子文件夹resized
里找到添加边框的照片已经拼合好的图像。