Linux系统下批量压缩图片尺寸大小的方法
发布时间:2013-10-09 11:49:40 作者:佚名
我要评论

怎么将互联网上的图片压缩在windows上容易,有很多软件,但在linux上难道就没有办法了吗?在本文将为大家分享个强大的免费图片工具 ImageMagick,感兴趣的朋友可以了解下
现在手机用户非常庞大,针对手机用户的流量不得不考虑,但手机网络带宽较小,怎么将互联网上的图片压缩是个难题,在windows上容易,有很多软件,但在linux上有没有办法呢?
经过多次的寻找,还是找到了些方法,这里分享下:
一个比较好用命令行下可以使用的 强大的免费图片工具 ImageMagick
Centos系统的安装使用方法:
yum install ImageMagick
再输入y确认即可安装完成
接下来调用 系统命令
#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 参数可以修改imagemagick,它可以对图片进行格式转换、大小压缩、增加水印等操作,而不需要去写第三方的程序,只需要写简单的SHELL脚本就可以完成图片压缩操作,接下来UBUNTU上介绍下:
安装命令:
sudo apt-get install imagemagick
其它linux有对应的软件安装命令,以下有我写的两个脚本,分别对图片进行批量格式以及压缩操作:
图片格式转换,这里的示例是将[bB][mM][pP](所有BMP文件)格式的文件,转换为占空间小的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
经过多次的寻找,还是找到了些方法,这里分享下:
一个比较好用命令行下可以使用的 强大的免费图片工具 ImageMagick
Centos系统的安装使用方法:
yum install ImageMagick
再输入y确认即可安装完成
接下来调用 系统命令
复制代码
代码如下:#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 参数可以修改imagemagick,它可以对图片进行格式转换、大小压缩、增加水印等操作,而不需要去写第三方的程序,只需要写简单的SHELL脚本就可以完成图片压缩操作,接下来UBUNTU上介绍下:
安装命令:
sudo apt-get install imagemagick
其它linux有对应的软件安装命令,以下有我写的两个脚本,分别对图片进行批量格式以及压缩操作:
图片格式转换,这里的示例是将[bB][mM][pP](所有BMP文件)格式的文件,转换为占空间小的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
相关文章
深度操作系统 deepin V23 Alpha 2 正式发布 预装跨端协同功能
深度操作系统 deepin V23 Alpha 2 正式发,该版本是 V23 的阶段性版本之一,deepin V23 Alpha 2 在主打的行云设计上持续升级,同时支持系统主题高级定制化设置,详细请看下2023-02-09Linux Mint 21.2 将于 6 月发布 主要改进了登录屏幕
Linux Mint 20 代号「Victoria」预计今年6月份发布,Linux Mint 21.2 主要改进了登录屏幕,优化了 Pix 图像管理程序,详细请看下文介绍2023-02-02请尽快升级: Ubuntu 18.04 LTS 和 Linux Mint 19.x 发行版将于 4 月停
有在使用 Ubuntu 18.04 LTS 和 Linux Mint 19.x 发行版的 我们网友吗?上述两个发行版本将于今年 4 月停止支持,如果你依然在使用上述发行版,那么推荐你可以尽快升级了2023-01-23- 这篇短文讲解的是Vmware虚拟机中,Ubuntu操作系统,图形化网络环境的配,感兴趣的朋友可以一起看看2022-08-24
linux下安装启动性能测试工具redis benchmark
这篇文章主要为大家介绍了linux下安装启动性能测试工具redis benchmark的过程步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-06-01- 这篇文章主要介绍了linux用户及密码的存储和校验方法, linux中用户和密码由/etc/passwd文件和/etc/shadow文件存储。更多相关内容介绍需要的小伙伴可以参考下面文章内容2022-05-22
- 这篇文章主要介绍了linux中ping命令的作用,文章通过网络中ping是一个十分强大的TCP/IP工具的介绍展开ping命令的作用,需要的小伙伴可以参考一下2022-05-22
- kali就是一个专门用于渗透行业的Linux发行版本,里面的工具非常丰富,本文就是建立在kali系统的支持之上的,重点给大家讲解使用kali破解wifi密码的相关知识,感兴趣的朋友2022-05-09
怎么远程登录Linux CentOS系统?远程登录Linux CentOS系统方法
怎么远程登录Linux CentOS系统?本文就为大家带来了远程登录Linux CentOS系统方法,需要的朋友赶紧看看吧2022-04-13深度操作系统20.5发布 deepin 20.5更新内容汇总
深度操作系统20.5发布,这个版本升级 Stable 内核至 5.15.24,修复底层漏洞,进一步提升系统兼容性和安全性,并集成了大量实用功能,详细请看下文介绍2022-04-07
最新评论