在Linux系统中,使用ImageMagick可以图片格式转换,其中最常用的是通过命令行工具进行。
ImageMagick是一个非常强大的图像处理工具集,它包含了许多用于图像转换的命令。
一、安装ImageMagick(如果尚未安装):
sudo apt-get install imagemagick # 对于基于Debian的系统
验证是否安装成功:
尝试运行ImageMagick提供的一些常用命令,比如:
convert --version
如果convert命令可用,它将返回版本信息。
二、常见用法
1.转换单个图片:
将一张图片从一种格式转换到另一种格式,例如将JPEG转换为PNG:
convert input.jpg output.png
2.批量转换图片:
使用通配符*来转换一个目录下的所有图片:
for img in *.jpg; do
convert "$img" "${img%.jpg}.png"
done
3.调整图片大小:
在转换的同时调整图片大小:
convert input.jpg -resize 800x600 output.png
4.使用mogrify命令:
直接修改图片文件的格式,而不是创建一个新文件:
mogrify -format png input.jpg
三、可以编写shell脚本批量转换图片为webp格式
picToWebp.sh
#!/bin/bash
#功能:把常用的图片格式(png、jpg、jpeg、tiff)批量转换为webp格式
#for file_name in `ls *.png *.jpg *.jpeg *.tiff`;do
for file_name in `ls *.*`;do
if [ "png" == "${file_name##*.}" ];then
(convert $file_name `echo ${file_name//.png/.webp}`) && (echo "${file_name}已成功转为webp格式") || (echo "${file_name}转换失败")
elif [ "jpg" == "${file_name##*.}" ];then
(convert $file_name `echo ${file_name//.jpg/.webp}`) && (echo "${file_name}已成功转为webp格式") || (echo "${file_name}转换失败")
elif [ "jpeg" == "${file_name##*.}" ];then
(convert $file_name `echo ${file_name//.jpeg/.webp}`) && (echo "${file_name}已成功转为webp格式") || (echo "${file_name}转换失败")
elif [ "tiff" == "${file_name##*.}" ];then
(convert $file_name `echo ${file_name//.tiff/.webp}`) && (echo "${file_name}已成功转为webp格式") || (echo "${file_name}转换失败")
else
echo "仅支持常见的图片格式(png、jpg、jpeg、tiff)才可以转换为webp格式,其他文件'${file_name}'不支持!"
fi
done
测试如下: