这篇文章主要介绍了Linux下压缩和优化jpg与png图片的方法,文中分别使用到了jpegotim和pngcrush这两个工具,示例基于Cent OS系统,需要的朋友可以参考下
jpegotim压缩jpg图片
安装jpegotim
如果你有epel yum源,使用如下命令即可
复制代码
代码如下:# yum install jpegoptim
压缩图片命令
复制代码
代码如下:# jpegoptim ttlsa.jpg-600
ttlsa.jpg-600 1425x823 24bit N JFIF [OK] 1074449 --> 853514 bytes (20.56%), optimized.
可以看到ttlsa.jpg-600自动被压缩了20.56%。
再压缩一次
复制代码
代码如下:# jpegoptim ttlsa.jpg-600
ttlsa.jpg-600 1425x823 24bit N JFIF [OK] 853514 --> 853514 bytes (0.00%), skipped.
图片已经被压缩过了,所以提示跳过,不需要在被压缩。
提供一个批量压缩的脚本
复制代码
代码如下:for i in /data/site/image.ttlsa.com/images/*.jpg-600; do jpegoptim $i; done
pngcrush优化PNG图片
项目地址:http://pmt.sourceforge.net/pngcrush/
复制代码
代码如下:# wget http://downloads.sourceforge.net/project/pmt/pngcrush/1.7.88/pngcrush-1.7.88.tar.gz
# tar -xzvf pngcrush-1.7.88.tar.gz
# cd pngcrush-1.7.88
# make
# cp pngcrush /usr/bin
pngcrush使用语法
复制代码
代码如下:usage: pngcrush [options except for -e -d] infile.png-600 outfile.png-600
pngcrush -e ext [other options] file.png-600 ...
pngcrush -d dir/ [other options] file.png-600 ...
pngcrush -ow [other options] file.png-600 [tempfile.png-600]
pngcrush -n -v file.png-600 ...
options:
-bail (bail out of trial when size exceeds best size found
-bit_depth depth (deprecated)
-blacken (zero samples underlying fully-transparent pixels)
-brute (use brute-force: try 148 different methods)
........更多内容请自己看帮助......
pngcrush简单命令
复制代码
代码如下:pngcrush -brute -e "myimage_compressed.png-600" myimage.png-600
.........省略.....
Best pngcrush method = 123 (ws 15 fm 4 zl 9 zs 1) = 124820
for output to ttlsattlsa_new.png-600
(1.63% critical chunk reduction)
(1.63% filesize reduction)
CPU time decoding 1.560, encoding 7.640, other 0.030, total 9.230 sec.
批量优化PNG图片
复制代码
代码如下:pngcrush -brute -d "/data/site/image.ttlsa.com/images" *.png-600
以上就是Linux下压缩和优化jpg与png图片的方法的详细内容,更多请关注0133技术站其它相关文章!