我有大约500 张图片,我需要将每张图片调整为6 种不同的尺寸。可以有任何脚本或软件。而且我的平台是ubuntu。
rap*_*ink 14
请尝试使用ImageMagick。首先,安装它:
$ sudo apt-get install imagemagick
Run Code Online (Sandbox Code Playgroud)
然后你可以制作一个小 bash 脚本来将它们转换为你的 6 种尺寸:
#!/bin/bash
# List all the formats you wish to have
SIZES="640x480 800x600 1024x768"
# pass directory as first argument to the script
# Use '.' (current directory) if no argument was passed
DIR=${1:-.}
find $DIR -type f | while read file; do
for size in $SIZES; do
# Resize and rename DSC01258.JPG into DSC01258_640x480.JPG, etc.
# Remove the ! after $size if you do not wish to force the format
convert -resize "${size}!" "$file" "${file%.*}_${size}.${file##*.}"
done
done
Run Code Online (Sandbox Code Playgroud)
将脚本另存为,例如convert.sh,并运行:
chmod +x convert.sh
./convert.sh /path/to/directory # path is optional, it takes '.' as default
Run Code Online (Sandbox Code Playgroud)
编辑:我编辑了脚本以确保在调整大小时不会覆盖文件,而是将它们重命名为例如 DSC01258_640x480.JPG,并使用 convert 而不是mogrify因为文件实际上已重命名。我还对变量进行了一些消毒,没有伤害。
我用 png 文件测试了脚本,它运行良好。它应该适用于 ImageMagick 支持的各种图像格式:
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
$ ./resize.sh wave_bible_bot/
$ file wave_bible_bot/*
wave_bible_bot/wave_bible_bot1_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot1.png: PNG image, 516 x 308, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot2.png: PNG image, 515 x 428, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_1024x768.png: PNG image, 1024 x 768, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_640x480.png: PNG image, 640 x 480, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3_800x600.png: PNG image, 800 x 600, 8-bit/color RGB, non-interlaced
wave_bible_bot/wave_bible_bot3.png: PNG image, 565 x 384, 8-bit/color RGB, non-interlaced
Run Code Online (Sandbox Code Playgroud)
Joh*_*n T 10
如果您像 Sathya 提到的那样安装 ImageMagick,则有一个不错的 GUI 前端可以使调整大小更容易,称为nautilus-image-converter.
要安装它:
sudo apt-get install nautilus-image-converter
Run Code Online (Sandbox Code Playgroud)
重新启动 nautilus(或注销并重新登录)。它会将“调整图像大小”和“旋转图像”添加到您的上下文菜单中,如下所示:

只需突出显示要调整大小的所有图像,右键单击,选择Resize Images,您将获得以下界面:

使用“附加”选项并为调整大小的图像添加自定义名称。您可能想要附加尺寸,例如 1024x768,或者您可以在不同的文件夹中制作 6 个图像副本,然后在每个文件夹中的图像上使用调整图像大小选项,用具有不同尺寸的新图像覆盖它们。原地调整图像大小将始终覆盖所选图像,因此请注意您的选择!
可以使用 ImageMagick:首先安装 ImageMagick
sudo apt-get install imagemagick
Run Code Online (Sandbox Code Playgroud)
接下来, cd 到您的图像所在的位置:
cd /path/to/where/images/are/stored
Run Code Online (Sandbox Code Playgroud)
接下来,根据您的图像大小创建目录
mkdir /path/to/where/images/are/stored/size
Run Code Online (Sandbox Code Playgroud)
将图像复制到要转换的目录
cp /path/to/where/images/are/stored/* /path/to/where/images/are/stored/size
Run Code Online (Sandbox Code Playgroud)
接下来,将目录更改为其他目录
cp /path/to/where/images/are/stored/size
Run Code Online (Sandbox Code Playgroud)
然后,使用mogrifyImageMagick 库提供的一个工具来调整大小
mogrify -resize 640×480! *.jpg
Run Code Online (Sandbox Code Playgroud)
这将全部调整为640*480,!告诉强制纵横比。
我不知道 Bash 脚本,所以它不是那么自动化。
| 归档时间: |
|
| 查看次数: |
13474 次 |
| 最近记录: |