CentOS 服务器使用命令对图片进行压缩以及图片格式转换

2024-08-23 09:30:02 浏览数 (3)

Liunx(Centos)使用 jpegoptim和optipng无损jpg和png图片压缩:

代码语言:txt复制
yum install jpegoptim optipng
find -name '*.jpg' | xargs jpegoptim --strip-all --all-progressive -o -f --max=50%
find -name '*.png' | xargs optipng

这两种直接压缩图片不会失真!

** CentOS 使用ImageMagic下的convert图片压缩,减少磁盘空间:**

代码语言:txt复制
yum install ImageMagick -y
find ./ -regex '.*(jpg|JPG|png|jpeg)' -size  200k -exec convert -resize 700x -quality 75 {} {} ;

下面的两个脚本,分别对图片进行批量格式以及压缩操作:

图片格式转换,这里的示例是将[bB][mM] pP格式的文件,转换为占空间小的jpg文件

代码语言:javascript复制
#!/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

** 图片压缩脚本:**

代码语言:javascript复制
 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

0 人点赞