查看: 35|回复: 0

[运维] Linux命令压缩/优化JPG/PNG图片

[复制链接]

2

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-9-11
发表于 2023-6-18 00:00:00 | 显示全部楼层 |阅读模式

为什么要优化图片

想象一下,如果TTLSA每篇文章图片都是1M,一篇文章有10个图片,你看一篇文章是一种什么体验。不仅仅体验差,TTLSA的CDN流量也是蹭蹭蹭的往上涨,涨的是流量,掉的是钱。一个图片100k和1MB的现实的效果差不多,为什么不用100K呢

如何优化图片

有如下几种方法

  1. 打开大图,QQ截屏然后保存下来
  2. ngx_pagespeed插件,自动化优化图片质量/尺寸
  3. firework、ps等工具导出图片
  4. jpegoptim、pngcrush

介绍下第四种在linux下压缩图片,并且图片质量不会太差,而且可以写脚本批量压缩图片。

jpegotim压缩图片

安装jpegotim

如果你有epel yum源,使用如下命令即可

# yum install jpegoptim

压缩图片命令

# jpegoptim ttlsa.jpg 
ttlsa.jpg 1425x823 24bit N JFIF  [OK] 1074449 --> 853514 bytes (20.56%), optimized.

可以看到ttlsa.jpg自动被压缩了20.56%。

再压缩一次

# jpegoptim ttlsa.jpg 
ttlsa.jpg 1425x823 24bit N JFIF  [OK] 853514 --> 853514 bytes (0.00%), skipped.

图片已经被压缩过了,所以提示跳过,不需要在被压缩。

提供一个批量压缩的脚本

for i in /data/site/image.ttlsa.com/images/*.jpg; 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 outfile.png
       pngcrush -e ext [other options] file.png ...
       pngcrush -d dir/ [other options] file.png ...
       pngcrush -ow [other options] file.png [tempfile.png]
       pngcrush -n -v file.png ...
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" myimage.png
.........省略.....
   Best pngcrush method        = 123 (ws 15 fm 4 zl 9 zs 1) =    124820
     for output to ttlsattlsa_new.png
     (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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部