Shell-Scripts/iphone-sony-photo-format.sh

61 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
# 这个脚本用于将图片生成成适合上传到小窝的分辨率,降低整体大小
# 这里默认所有的照片都是从索尼相机过来的并且比例是 2:3
# 创建文件夹 output
mkdir -p output
# 遍历当前文件夹下的所有 heic 和 png 文件
for file in *.{HEIC,heic,HEIF,heif,PNG,png,JPG,jpg}; do
# 跳过不存在的文件
if [[ ! -f "$file" ]]; then
continue
fi
# 跳过自己改的图片
if [[ $filename == *"MODIFIED"* ]] || [[ $filename == *"MERGED"* ]]; then
echo "文件名包含 MODIFIED 或 MERGED"
continue
fi
# 获取图片名并创建新的文件名
filename=$(basename "$file")
extension="${filename##*.}"
new_extension="jpg"
new_filename="${filename%.*}.$new_extension"
# 检查输出文件是否已存在
if [[ -e "output/$new_filename" ]]; then
echo "Skipping existing file: output/$new_filename"
continue
fi
# if [[ "${filename##*.}" == "png" || "${filename##*.}" == "PNG" ]]; then
# 使用 ImageMagick 直接处理 PNG 图片
# magick "$file" -gravity center -quality 80 output/$new_filename
# else
# 判断图片是竖屏的还是横屏的
# 使用 identify 命令判断图片的宽度和高度
width=$(identify -format "%w" "$file")
height=$(identify -format "%h" "$file")
# 指定图片大小
if [ $width -ge $height ]; then
new_size="2250x1500"
else
new_size="1500x2250"
fi
# 使用 ImageMagick 处理图片
magick "$file" -gravity center -resize "$new_size^" -extent "$new_size" -quality 80 output/$new_filename
# fi
# 使用 exiftool 抹掉图片的 gps 信息,并设置作者名称为 Paul
exiftool -overwrite_original -gps:all= -artist="奇趣保罗" -CreatorTool= "output/$new_filename"
echo '\n\n'
done