Linux系統(tǒng)下批量壓縮圖片尺寸大小的方法
發(fā)布時間:2013-10-09 11:49:40 作者:佚名
我要評論

怎么將互聯(lián)網(wǎng)上的圖片壓縮在windows上容易,有很多軟件,但在linux上難道就沒有辦法了嗎?在本文將為大家分享個強大的免費圖片工具 ImageMagick,感興趣的朋友可以了解下
現(xiàn)在手機用戶非常龐大,針對手機用戶的流量不得不考慮,但手機網(wǎng)絡(luò)帶寬較小,怎么將互聯(lián)網(wǎng)上的圖片壓縮是個難題,在windows上容易,有很多軟件,但在linux上有沒有辦法呢?
經(jīng)過多次的尋找,還是找到了些方法,這里分享下:
一個比較好用命令行下可以使用的 強大的免費圖片工具 ImageMagick
Centos系統(tǒng)的安裝使用方法:
yum install ImageMagick
再輸入y確認即可安裝完成
接下來調(diào)用 系統(tǒng)命令
#include <stdio.h>
int main()
{
printf(“Please install ImageMagick before run this programme ,else it will not run correctlyn”);
system(“mkdir small”);
system(“cp *.jpg ./small”);
system(“find ./small -name ‘*.jpg’ -exec convert -resize 300×300 {} {} \;”);
system(“pwd”);
system(“rename .jpg _small.jpg small/*.jpg”);
printf(“nConvert pictures finished,plesae check itn”);
return 0;
}
其中上面 convert 中的 resize 參數(shù)可以修改imagemagick,它可以對圖片進行格式轉(zhuǎn)換、大小壓縮、增加水印等操作,而不需要去寫第三方的程序,只需要寫簡單的SHELL腳本就可以完成圖片壓縮操作,接下來UBUNTU上介紹下:
安裝命令:
sudo apt-get install imagemagick
其它linux有對應(yīng)的軟件安裝命令,以下有我寫的兩個腳本,分別對圖片進行批量格式以及壓縮操作:
圖片格式轉(zhuǎn)換,這里的示例是將[bB][mM][pP](所有BMP文件)格式的文件,轉(zhuǎn)換為占空間小的jpg文件:
#!/bin/sh
for img in `find ./ -name “*.[bB][mM][pP]“`; do
#change upper filename to lower
_imglower=`echo $img|tr “[:upper:]” “[:lower:]“`;
#get file’s basename
_basename=`basename $_imglower .bmp`;
#get file’s dir
_dirname=`dirname $img`;
#get desc filename with path
_basefullname=$_dirname”/”$_basename”.jpg”;
#do convert
convert $img $_basefullname;
#remove bmp file
rm $img;
echo “deal $_basefullname successfully”;
done
圖片壓縮腳本:
for img in `find ./ -name “*.[jJ][pP][gG]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
for img in `find ./ -name “*.[pP][nN][gG]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
for img in `find ./ -name “*.[gG][iI][fF]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
經(jīng)過多次的尋找,還是找到了些方法,這里分享下:
一個比較好用命令行下可以使用的 強大的免費圖片工具 ImageMagick
Centos系統(tǒng)的安裝使用方法:
yum install ImageMagick
再輸入y確認即可安裝完成
接下來調(diào)用 系統(tǒng)命令
復制代碼
代碼如下:#include <stdio.h>
int main()
{
printf(“Please install ImageMagick before run this programme ,else it will not run correctlyn”);
system(“mkdir small”);
system(“cp *.jpg ./small”);
system(“find ./small -name ‘*.jpg’ -exec convert -resize 300×300 {} {} \;”);
system(“pwd”);
system(“rename .jpg _small.jpg small/*.jpg”);
printf(“nConvert pictures finished,plesae check itn”);
return 0;
}
其中上面 convert 中的 resize 參數(shù)可以修改imagemagick,它可以對圖片進行格式轉(zhuǎn)換、大小壓縮、增加水印等操作,而不需要去寫第三方的程序,只需要寫簡單的SHELL腳本就可以完成圖片壓縮操作,接下來UBUNTU上介紹下:
安裝命令:
sudo apt-get install imagemagick
其它linux有對應(yīng)的軟件安裝命令,以下有我寫的兩個腳本,分別對圖片進行批量格式以及壓縮操作:
圖片格式轉(zhuǎn)換,這里的示例是將[bB][mM][pP](所有BMP文件)格式的文件,轉(zhuǎn)換為占空間小的jpg文件:
復制代碼
代碼如下:#!/bin/sh
for img in `find ./ -name “*.[bB][mM][pP]“`; do
#change upper filename to lower
_imglower=`echo $img|tr “[:upper:]” “[:lower:]“`;
#get file’s basename
_basename=`basename $_imglower .bmp`;
#get file’s dir
_dirname=`dirname $img`;
#get desc filename with path
_basefullname=$_dirname”/”$_basename”.jpg”;
#do convert
convert $img $_basefullname;
#remove bmp file
rm $img;
echo “deal $_basefullname successfully”;
done
圖片壓縮腳本:
復制代碼
代碼如下:for img in `find ./ -name “*.[jJ][pP][gG]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
for img in `find ./ -name “*.[pP][nN][gG]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
for img in `find ./ -name “*.[gG][iI][fF]“`; do
convert -resize 85%*85% $img $img-resized;
rm $img;
mv $img-resized $img
echo $img
done
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細信息? 3招輕松查看CPU型號、核心數(shù)和溫度
在日常運維工作中,獲取 CPU 信息是系統(tǒng)運維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡化,優(yōu)化,現(xiàn)代化,實用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個win11裝機u盤,詳細如下2025-02-17Rsnapshot怎么用? 基于Rsync的強大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠程文件,接下來詳細介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時、每天、每周和每月的本地備份,以及如何進2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運行時表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進,進一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細安裝指南2025-01-16