阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS系统下多种图片压缩方案

514次阅读
没有评论

共计 4491 个字符,预计需要花费 12 分钟才能阅读完成。




在文章《使用 TinyPNG 来优化您的网站图片》介绍过 TinyPNG 提供的压缩服务,效果非常棒。ImgURL 图床也是使用 TinyPNG 来提供图片压缩,不过 TinyPNG 有免费次数限制。于是 xiaoz 寻找了 Linux 系统下的其它图片压缩方案,希望后期能够用到。

OptiPNG

OptiPNG 是一种 PNG 优化器,可将图像文件重新压缩为更小的尺寸,而不会丢失任何信息。同时还可以压缩 .bmp .gif 等格式,安装方法如下:

# 请先确保已经安装 epel 源,然后直接 yum 安装
yum -y install optipng
#也可以下载源码编译安装
#下载 OptiPNG 源码
wget -O optipng.tar.gz http://prdownloads.sourceforge.net/optipng/optipng-0.7.7.tar.gz?download
#解压
tar -zxvf optipng.tar.gz
#进入目录
cd optipng-0.7.7/
#编译安装
./configure
make && make install

如果不出意外,安装成功后可以输入 optipng -V 查看当前版本,如下截图。

直接输入命令 optipng xxx.png 来压缩一张 .png 的图片,optipng 还有更多的参数,可以输入 optipng -h 来查看帮助。

Synopsis:
    optipng [options] files ...
Files:
    Image files of type: PNG, BMP, GIF, PNM or TIFF
Basic options:
    -?, -h, -help   show this help
    -o <level>      optimization level (0-7)        [default: 2]
    -v          run in verbose mode / show copyright and version info
General options:
    -backup, -keep  keep a backup of the modified files
    -clobber        overwrite existing files
    -fix        enable error recovery
    -force      enforce writing of a new output file
    -preserve       preserve file attributes if possible
    -quiet, -silent run in quiet mode
    -simulate       run in simulation mode
    -out <file>     write output file to <file>
    -dir <directory>    write output file(s) to <directory>
    -log <file>     log messages to <file>
    --          stop option switch parsing
Optimization options:
    -f <filters>    PNG delta filters (0-5)         [default: 0,5]
    -i <type>       PNG interlace type (0-1)
    -zc <levels>    zlib compression levels (1-9)       [default: 9]
    -zm <levels>    zlib memory levels (1-9)        [default: 8]
    -zs <strategies>    zlib compression strategies (0-3)   [default: 0-3]
    -zw <size>      zlib window size (256,512,1k,2k,4k,8k,16k,32k)
    -full       produce a full report on IDAT (might reduce speed)
    -nb         no bit depth reduction
    -nc         no color type reduction
    -np         no palette reduction
    -nx         no reductions
    -nz         no IDAT recoding
Editing options:
    -snip       cut one image out of multi-image or animation files
    -strip <objects>    strip metadata objects (e.g. "all")
Optimization levels:
    -o0     <=> -o1 -nx -nz             (0 or 1 trials)
    -o1     <=> -zc9 -zm8 -zs0 -f0          (1 trial)
            (or...) -zc9 -zm8 -zs1 -f5          (1 trial)
    -o2     <=> -zc9 -zm8 -zs0-3 -f0,5          (8 trials)
    -o3     <=> -zc9 -zm8-9 -zs0-3 -f0,5        (16 trials)
    -o4     <=> -zc9 -zm8 -zs0-3 -f0-5          (24 trials)
    -o5     <=> -zc9 -zm8-9 -zs0-3 -f0-5        (48 trials)
    -o6     <=> -zc1-9 -zm8 -zs0-3 -f0-5        (120 trials)
    -o7     <=> -zc1-9 -zm8-9 -zs0-3 -f0-5      (240 trials)
    -o7 -zm1-9  <=> -zc1-9 -zm1-9 -zs0-3 -f0-5      (1080 trials)
Notes:
    The combination for -o1 is chosen heuristically.
    Exhaustive combinations such as "-o7 -zm1-9" are not generally recommended.
Examples:
    optipng file.png                        (default speed)
    optipng -o5 file.png                    (slow)
    optipng -o7 file.png                    (very slow)

OptiPNG 主页:http://optipng.sourceforge.net/

jpegoptim

jpegoptim 是一款开源的图片压缩工具,只能压缩 .jpg 格式,直接使用 yum 命令安装, 安装完毕后可以输入 jpegoptim -V 查看版本。

yum -y install jpegoptim

输入命令 jpegoptim -m 80 xxx.jpg 来压缩图片,-m指的优化质量,可选值从 0 -100,数值越大速度越快、质量越好,但压缩效果更差,更多参数可以输入 jpegoptim -h 查看。

jpegoptim v1.4.6  Copyright (C) 1996-2018, Timo Kokkonen
Usage: jpegoptim [options] <filenames> 

  -d<path>, --dest=<path>
                    specify alternative destination directory for 
                    optimized files (default is to overwrite originals)
  -f, --force       force optimization
  -h, --help        display this help and exit
  -m<quality>, --max=<quality>
                    set maximum image quality factor (disables lossless
                    optimization mode, which is by default on)
                    Valid quality values: 0 - 100
  -n, --noaction    don't really optimize files, just print results
  -S<size>, --size=<size>
                    Try to optimize file to given size (disables lossless
                    optimization mode). Target size is specified either in
                    kilo bytes (1 - n) or as percentage (1% - 99%)
  -T<threshold>, --threshold=<threshold>
                    keep old file if the gain is below a threshold (%)
  -b, --csv         print progress info in CSV format
  -o, --overwrite   overwrite target file even if it exists (meaningful
                    only when used with -d, --dest option)
  -p, --preserve    preserve file timestamps
  -P, --preserve-perms
                    preserve original file permissions by overwriting it
  -q, --quiet       quiet mode
  -t, --totals      print totals after processing all files
  -v, --verbose     enable verbose mode (positively chatty)
  -V, --version     print program version

  -s, --strip-all   strip all markers from output file
  --strip-none      do not strip any markers
  --strip-com       strip Comment markers from output file
  --strip-exif      strip Exif markers from output file
  --strip-iptc      strip IPTC/Photoshop (APP13) markers from output file
  --strip-icc       strip ICC profile markers from output file
  --strip-xmp       strip XMP markers markers from output file

  --all-normal      force all output files to be non-progressive
  --all-progressive force all output files to be progressive
  --stdout          send output to standard output (instead of a file)
  --stdin           read input from standard input (instead of a file)

jpegoptim 项目地址:https://github.com/tjko/jpegoptim

Google webp

WebP 是一种现代图像格式,可为 Web 上的图像提供出色的无损和有损压缩。使用 WebP,网站管理员和 Web 开发人员可以创建更小,更丰富的图像,使网络更快。

CentOS 可以使用 yum 安装:

yum -y install libwebp-devel libwebp-tools

使用 cwebp 命令行上 PNG 或 JPEG 图像文件转换为 WebP 的格式。您可以使用以下命令将 PNG 图像文件转换为质量范围为 80 的 WebP 图像:

cwebp -q 80 image.png -o image.webp

更多关于 webp 的使用说明可以参考 Google 官方文档: new image format for the Web,顺带一提,国内的 又拍云 CDN 已经支持自动将图片转换为 webp 格式。

总结

无论哪种图片压缩方案都无法真正做到 100% 无损,只能尽可能不降低图片质量的情况下减小图片体积。建议大家对网站图片进行适当压缩,提高网站速度。如果您还有更优秀的压缩方案,请留言推荐。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计4491字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7801897
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...