60 lines
1.6 KiB
Bash
Executable File
60 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 将 iPhone 拍摄的照片转换格式为 jpg 并处理 exif 信息
|
|
|
|
# 创建文件夹 output
|
|
mkdir -p output
|
|
|
|
# 遍历当前文件夹下的所有 heic 和 png 文件
|
|
for file in *.{HEIC,heic,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="2000x1500"
|
|
else
|
|
new_size="1500x2000"
|
|
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
|