有什么方法可以让我通过单个命令裁剪许多图片,或者在 gimp 或 photoshop 中有任何选项。
我知道的是图像宽度为 930,高度为 800。我想将这些图像分成两个新的图像,宽度应等于 930/2=465,其中高度应保持不变。
有人知道解决方案吗?
有什么方法可以让我通过单个命令裁剪许多图片,或者在 gimp 或 photoshop 中有任何选项。
我知道的是图像宽度为 930,高度为 800。我想将这些图像分成两个新的图像,宽度应等于 930/2=465,其中高度应保持不变。
有人知道解决方案吗?
我建议你使用 ImageMagick,它可以从这里免费用于 Windows、Linux 和 OSX
例如,将当前目录中的所有 jpeg 裁剪为最大 256 像素 x 最大 256 像素
mogrify -resize 256x256 *.jpg
出于您的目的,假设调用了一个输入文件a.jpg
,您可能需要
convert a.jpg -crop 465x800+465+0 +repage a2.jpg
convert a.jpg -crop 465x800+0+0 +repage a1.jpg
a1.jpg 和 a2.jpg 将是两半,
我不知道你是在 Windows 还是 Linux 上,但你可以很容易地把它放在一个循环中来处理你的所有图像
未经测试:
Linux...
for f in *.jpg
do
newbase=$(basename "$f")
convert "$f" -crop 465x800+465+0 +repage "${newbase}_1.jpg"
convert "$f" -crop 465x800+0+0 +repage "${newbase}_2.jpg"
done
MS-DOS 命令(我的技能在这里生疏)
FOR %a in (*.jpg) DO something
在尝试任何命令之前备份您的图像!!!
假设您有一个包含图像(递归)的文件夹,只有图像,没有其他文件...假设所有这些图像都足够大可以拆分...您可以使用此脚本
我正在使用它将 3840x1080 图像拆分为 2 个 1920x1080 图像,用于双屏桌面背景图像。
#!/bin/bash
files=$(find -type f)
basedir=$(pwd)
width=1920
height=1080
for f in $files
do
dir=$(dirname "$f")
cd $dir
file=$(basename "$f")
newfile=$(echo $file | cut -d. -f1)
convert "$file" -crop ${width}x${height}+0+0 +repage "${newfile}_1_of_2.jpg"
convert "$file" -crop ${width}x${height}+${width}+0 +repage "${newfile}_2_of_2.jpg"
cd $basedir
done