1.系統上線一段時間後,服務器圖片目錄上傳了13G多的圖片,而且圖片很大一張張的,因此需要把圖片進行壓縮
2.百度各種壓縮方案,發現 Linux 上 ImageMagick 軟件很好,C語言開發的,可以壓縮、裁剪、加水印,功能太多了,自己去官網看吧,且已在GitHub上開源
3.開源地址:https://github.com/ImageMagick/ImageMagick
4.先看看壓縮效果,這個目錄有7.3G大小的圖片,壓縮後爲 1.6G,這樣可以大大提升網站的訪問速度
5.安裝ImageMagick(網上太多安裝教程,很坑)
1.先安裝依賴庫
yum install -y libjpeg* libpng* libtiff* libungif* freetype zlib
2.下載ImageMagick
wget http://www.imagemagick.org/download/ImageMagick-7.0.10-10.tar.gz
3.解壓
tar -xvzf ImageMagick-7.0.10-10.tar.gz
4.進入解壓目錄,檢查配置
./configure
5.編譯與安裝
make
make install
6.上傳一張圖片測試轉換爲png格式
convert 1.jpg 1.png
7.檢查支持的格式
identify -list format
6.在某個目錄執行批量壓縮命令:
- du -sh :查看目錄大小
- 壓縮:find ./ -regex ‘.*(jpg|JPG|png|jpeg)’ -size +300k -exec convert -resize 50%x50% -quality 70 {} {} ;
- du -sh :再次查看大小
- 壓縮命令解釋:正則表達式查找 當前目錄所有大於 300K的 jpg,png,jpeg圖片,使用 convert 把圖片的寬高轉換 50%,且圖片質量壓縮爲 70%
ImageMagick CSDN下載地址:https://download.csdn.net/download/zhuyu19911016520/12408864
它有很多功能,請看GitHub上的說明或官網的示例:https://imagemagick.org/script/convert.php