博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用使用Zopfli优化PNG图片
阅读量:7247 次
发布时间:2019-06-29

本文共 1239 字,大约阅读时间需要 4 分钟。

本文讲的是使用使用Zopfli优化PNG图片,

 在图片存储中是个很有用的格式,因为他能够保护截图的颜色不失真,能够很好地还原所有图片信息。然而,有许多图像应用并不提供导出较小 PNG 格式图片的功能。幸好,我们可以用一个 Google 发布的扩展工具  来解决这个问题。

Zopfli 是实现 DEFLATE 的编码器,这是一个 PNG 格式中常用的压缩方法(当然也有很多其他的方法来压缩 png,像 ZIP 等等),用来输出可能的最小压缩文件。由于他是一种无损转换,用 Zopfli 做再次压缩的 PNG 文件仍有预期中的像素。

对于一个有很多 png 图片的 web 服务,将所有图片都用 Zopfli 来做压缩是非常有利的。使用(不失真的)压缩图片可以让(文件)传输更快,这就意味着网站访客能得到更好的用户体验。如果网站非常受欢迎,那就可能会显著的节省总带宽了。

在 Linux 或者 macOS(之前叫 OS X )系统编译 Zopfli 非常简单:

$ git clone https://github.com/google/zopfli.git    $ cd zopfli    $ make zopflipng

之后,我通常会将 zopflipng 复制到 ~/bin 中

$ cp ./zopflipng ~/bin    $ ./zopflipng    ZopfliPNG, a Portable Network Graphics (PNG) image optimizer.    Usage: zopflipng [options]... infile.png outfile.png           zopflipng [options]... --prefix=[fileprefix] [files.png]...

压缩单张图片:

$ zopflipng screenshot.png screenshot_small.png

注意,由于 Zopfli 压缩是,过程中往往需要几秒钟。

对于批量转换,需要一个简单的脚本来做辅助。我写了一个简单的脚本 png-press.sh

#!/usr/bin/env sh    tmpfile=$(mktemp)    zopflipng -m -y $1 $tmpfile    mv $tmpfile $1

现在可以进入一个全是图片的目录并执行:

$ find . -iname *.png  | xargs -I % ./png-press.sh %

作为一个插画网站,这个博客有超过280张png图片(大多都是截图),总共占了 24.4MB 的空间。执行上述步骤之后,空间占用量减少到了 19.1MB。节省了整整 5MB 空间!

现在,你有什么理由不使用 Zopfliy 优化去优化你的截图呢?

原文发布时间为:2016年07月20日
本文来自云栖社区合作伙伴掘金,了解相关信息可以关注掘金网站。

转载地址:http://mwbbm.baihongyu.com/

你可能感兴趣的文章
logging模块配置笔记
查看>>
阿里云云盾介绍
查看>>
如何判断硬件是否具有嵌入式Linux支持
查看>>
Postgresql数据库体系结构-存储结构
查看>>
jQuery多层级垂直手风琴菜单
查看>>
前端BUI框架表单教程
查看>>
Hadoop 架构已凋谢 ?!
查看>>
通通玩blend美工(1)——荧光Button
查看>>
十分钟构建双十一交互分析大盘
查看>>
linux下eclipse闪退和重装jdk的方法
查看>>
处理生活中的一些落差
查看>>
天猫双11 | 你只管尽情狂欢,我负责保驾护航
查看>>
如何通过snmp监控Linux
查看>>
WPF loading加载动画库
查看>>
开源项目
查看>>
WPF 实现波浪浮动效果
查看>>
Android开发教程 - 使用Data Binding(四)在Fragment中的使用
查看>>
Github连接 VS Code踩坑记录
查看>>
[LeetCode]Reverse Integer题解
查看>>
函数声明提升与变量提升
查看>>