一、ImageMagick简介
ImageMagick是一套功能强大、稳定而且免费的工具集和开发包。可以用来读、写和图像格式转换,可以处理超过100种图像格式,包括流行的TIFF, JPEG, GIF, PNG, PDF以及PhotoCD等格式。对图片的操作,即可以通过命令行进行,也可以用C/C++、Perl、Java、PHP、Python或Ruby编程来完成。
二、ImageMagick安装
1.打开终端并执行以下命令,安装ImageMagick的依赖库。
shell
sudo apt-get install build-essential
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev libgif-dev libwebp-dev
sudo apt-get install webp
2.下载ImageMagick的源码包,可以在官网(imagemagick.org)上找到最新的稳定版本,也可以在github上下载。
官网下载: https://www.imagemagick.org/download/ImageMagick.tar.gz
github下载: https://github.com/ImageMagick/ImageMagick
假设下载的文件名为:ImageMagick-X.X.X.tar.gz
,执行以下命令解压缩和安装:
shell
tar xf ImageMagick-X.X.X.tar.gz
cd ImageMagick-X.X.X
./configure
sudo make install
3.安装完毕后,可以执行以下命令验证是否安装成功。
magick --version
如果出现下面错误:
shell
magick: error while loading shared libraries: libMagickCore-7.Q16HDRI.so.10: cannot open shared object file: No such file or directory
需要执行以下命令:
shell
echo "/usr/local/lib" >>sudo /etc/ld.so.conf
sudo ldconfig
再次验证是否安装成功: magick --version
可以看到输出了ImageMagick版本信息,安装成功了。
三、ImageMagick使用
1.使用ImageMagick对单个图片png格式转为webp格式
magick test_01.png test_01_new.webp
可以看到同样画质的前提下,webp格式和png、jpg相比,文件格式小的多,除此之外,webp还支持动图。
2.通过shell编程,使用ImageMagick把图片png格式批量转为webp格式
bash
for file_name in `ls *.png`;do magick $file_name `echo ${file_name//.png/_new.webp}`;done
3.通过shell编程,使用ImageMagick把图片png、jpg、jpeg、tiff格式批量转为webp格式
Shell脚本picToWebp.sh
shell
#!/bin/bash
#功能:把常用的图片格式(png、jpg、jpeg、tiff)批量转换为webp格式
for file_name in `ls *.png *.jpg *.jpeg *.tiff`;do
if [ "png" == ${file_name##*.} ];then
magick $file_name `echo ${file_name//.png/.webp}`
fi
if [ "jpg" == ${file_name##*.} ];then
magick $file_name `echo ${file_name//.jpg/.webp}`
fi
if [ "jpeg" == ${file_name##*.} ];then
magick $file_name `echo ${file_name//.jpeg/.webp}`
fi
if [ "tiff ==${file_name##*.} ];then
magick $file_name `echo ${file_name//.tiff/.webp}`
fi
done
对上面代码进行优化后,如下:
Shell脚本picToWebp.sh
shell
#!/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
(magick $file_name `echo ${file_name//.png/.webp}`) && (echo "${file_name}已成功转为webp格式") || (echo "${file_name}转换失败")
elif [ "jpg" == ${file_name##*.} ];then
(magick $file_name `echo ${file_name//.jpg/.webp}`) && (echo "${file_name}已成功转为webp格式") || (echo "${file_name}转换失败")
elif [ "jpeg" == ${file_name##*.} ];then
(magick $file_name `echo ${file_name//.jpeg/.webp}`) && (echo "${file_name}已成功转为webp格式") || (echo "${file_name}转换失败")
elif [ "tiff" == ${file_name##*.} ];then
(magick $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
通过下面命令,修改picToWebp.sh可执行
chmod 755 picToWebp.sh
通过下面命令,执行picToWebp.sh
./picToWebp.sh
CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享🎁
😝朋友们如果有需要全套《黑客&网络安全入门&进阶学习资源包》,可以扫描下方二维码免费领取
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
2️⃣视频配套资料&国内外网安书籍、文档
① 文档和书籍资料
② 黑客技术
因篇幅有限,仅展示部分资料
3️⃣网络安全源码合集+工具包
4️⃣网络安全面试题
上述所有资料 ⚡️ ,朋友们如果有需要全套 📦《网络安全入门+进阶学习资源包》,可以扫描下方二维码免费领取 🆓