鹏量子 是一个免费、开源和跨平台的命令行有损 PNG 压缩器。 它基于便携式 libimagequant 图书馆,并写在 C99. 它通过将PNG图像转换为更有效的方式显着减小了文件大小 8位 PNG格式并保留 完全 alpha 透明度. 您可能已经知道,8 位 PNG 文件通常比 24/32 位 PNG 文件小 60-80%。 使用 Pngquant 压缩的图像与所有网络浏览器和操作系统完全兼容。 Pngquant 可以一次压缩一个或多个图像。 在本指南中,让我们看看如何安装 Pngquant 以及如何在 Linux 上使用 Pngquant 压缩 PNG 图像。
内容
特征
Pngquant具有以下特点。
- 支持批量转换多个PNG文件。
- 高质量的调色板生成。
- 它使用 Median Cut 量化算法来优化图像。
- 可以轻松地与 shell 脚本、GUI 和服务器端软件集成。
- 以所需质量转换图像并跳过无法以所需质量转换的图像。
- 多核支持和英特尔 SSE 优化。
在 Linux 中安装 Pngquant
Pngquant 可以通过多种方式安装。
从发行版的存储库中安装 Pngquant
Pngquant 在大多数 Linux 发行版的默认存储库中都可用。
在Arch Linux的及其变种,Pngquant是可用 [Community] 存储库。 启用社区存储库并使用安装它 吃豆人 如下所示。
$ sudo pacman -S pngquant
在 Debian、Ubuntu、Linux Mint 上:
$ sudo apt install pngquant
在 Ubuntu 系统上,您需要启用 [Universe] 安装 Pngquant 的存储库。
要启用 Universe 存储库,请执行以下操作:
$ sudo add-apt-repository universe
在 Fedora:
$ sudo dnf install pngquant
在 openSUSE 上:
$ sudo zypper install pngquant
在 CentOS 上:
$ sudo yum install epel-release
$ sudo yum install pngquant
检查安装的Pngquant版本:
$ pngquant -V 2.5.0 (June 2015)
默认存储库中可用的 Pngquant 版本可能较旧。 如果您想要最新版本,请从以下源代码编译并手动安装它。
从源代码安装 Pngquant
首先,安装安装必要的依赖。
在 Debian、Ubuntu 上:
$ sudo apt install git gcc cmake libpng-dev pkg-config
在 CentOS 上, Fedora:
$ sudo yum install git libpng-devel gcc cmake
接下来,git clone 最新版本的 Pngquant:
$ git clone --recursive https://github.com/kornelski/pngquant.git
上述命令将下载 Pngquant GitHub 存储库的内容并将其保存在当前工作目录中名为“pngquant”的文件夹中。
切换到“pngquant”目录:
$ cd pngquant
最后,运行以下命令来编译和安装 Pngquant:
$ make
$ sudo make install
Pngquant 将安装在 /usr/local/bin 默认位置。 如果要将其安装在另一个目录中,请运行:
$ ./configure --prefix=dir && make
与路径替换为“目录”。 您需要先运行此命令,然后运行“sudo 进行安装”命令。
检查 Pngquant 版本:
$ pngquant -V 2.12.5 (July 2019)
看? 它是最新版本。
使用 Cargo 安装 Pngquant
Pngquant 也可以使用安装 货物 包管理器。 一、安装 锈 如以下链接中所述。
- 在 Linux 中安装 Rust 编程语言
git clone 最新版本的 Pngquant:
$ git clone --recursive https://github.com/kornelski/pngquant.git
最后,使用 Cargo 构建和安装 Pngquant,如下所示。
$ cd pngquant
$ sudo cargo build --release
其他安装方式请参考Pngquant 官方安装页面.
在 Linux 上使用 Pngquant 压缩 PNG 图像
Pngquant 的使用很简单,不需要任何特殊技能即可使用。
我的当前目录中有名为“ostechnix.png”的 PNG 图像文件。 让我告诉你它的大小。
$ du -sh ostechnix.png 152K ostechnix.png
如您所见,图像大小为 152k.
压缩 PNG 图像
要使用 Pngquant 压缩 PNG 图像,只需提供如下路径:
$ pngquant ostechnix.png
上面的命令将压缩 ostechnix.png 文件并将其保存为一个新的文件,名称为 “ostechnix-fs8.png”. 默认情况下,Pngquant 将使用与带后缀的输入文件名相同的输出文件名 -or8.png 或者 -fs8.png 在最后。 这意味着它不会覆盖源文件。 如果您对压缩率不满意,只需删除压缩文件并保留原始文件即可。
让我们再次检查压缩图像文件的大小:
$ du -sh ostechnix-fs8.png 48K ostechnix-fs8.png
看? Pngquant 减少了 152k 将图像大小调整为 48k. 这确实是一份好工作。 打开使用任何图像浏览图像并加以比较。 你不会找到原来的图像和压缩图像之间的质量太大的区别。 两个图像看起来几乎一样!
压缩时显示状态消息
默认情况下,Pngquant 在压缩图像时不会显示幕后发生的事情。 如果要查看状态消息,请使用以下命令:
$ pngquant ostechnix.png --verbose ostechnix.png: conserving memory read 152KB file corrected image from gamma 2.2 to sRGB gamma made histogram...1854 colors found selecting colors...4% selecting colors...25% selecting colors...28% selecting colors...49% selecting colors...69% selecting colors...90% selecting colors...100% moving colormap towards local minimum eliminated opaque tRNS-chunk entries...61 entries transparent mapped image to new colors...MSE=0.055 (Q=99) writing 256-color image as ostechnix-fs8.png No errors detected while quantizing 1 image.
现在您将看到压缩发生时的进度。
压缩多个PNG图像
Pngquant还可以将多张图片。 以下命令将压缩 图片1.png 和 图片2.png 在当前工作目录中。
$ pngquant picture1.png picture2.png
此外,我们可以移动目录中的所有文件并一次压缩它们。 例如,要转换名为“/home/sk/images”的文件夹中的所有图像,请运行:
$ pngquant /home/sk/images/*.png
更改输出文件名后缀
就像我已经说过的,输出文件名与输入名称相同,只是它以 “-fs8.png”, “-or8.png”. 但是,您可以根据需要更改后缀,如下所示。
$ pngquant ostechnix.png --ext linux.png
此命令将压缩 ostechnix.png 文件并将其保存为 ostechnixlinux.png.
如果压缩文件的大小大于原始文件,则跳过保存文件
如果转换后的文件比源文件大,压缩点是什么? 这种转换是不值得的,所以我们可以像下面这样跳过它。
$ pngquant --skip-if-larger ostechnix.png
如果转换后的文件小于原始文件,上述命令只会保存转换后的文件。
Save 转换后的文件在不同的路径
默认情况下,Pngquant 会将输入和输出图像文件保存在同一目录中。 如果要将输出文件保存在其他地方,命令将是:
$ pngquant ostechnix.png --output Documents/output.png
此命令将压缩 ostechnix.png 并将其另存为 输出.png 在 文件 目录。
以自定义质量压缩 PNG 图像
Pngquant 尽可能地压缩图像。 我们还可以手动设置图像的质量。 Pngquant 允许我们在范围内设置图像质量 0 (最坏的)到 100 (完美)使用 分钟 和 最大限度 参数。
以下示例将最低图像质量设置为 60,将最高质量设置为 80。
$ pngquant --quality=60-80 image.png
如果转换导致质量低于最低质量,则不会保存图像。
剥离图像元数据
图像元数据是一组关于法师数据。 它包括所有关于图像的信息,如图像格式,相机设置,DPI,日期和图像,标题和评论,地理位置和更大量的时间。 请参阅下面的文章,以了解如何查看图像的元数据。
- 如何查看图像元数据在Linux
如果您没有元数据,您可以使用 pngquant 简单地删除它,如下所示。
$ pngquant --strip image.png
有关更多详细信息,请参阅手册页。
$ man pngquant
建议阅读:
- Converseen – 一个简单的图形批量图像转换器和大小调整器
- 3 CLI 图像查看器在终端中显示图像
- 如何在终端中显示缩略图
- 如何 Save Linux 命令输出到图像或文本文件
- Gifski – 一个跨平台的高质量 GIF 编码器
- Flameshot – 一个简单但功能强大且功能丰富的截图工具
我已经使用 Pngquant 很多年了。 它极大地帮助我将 PNG 图像压缩到 70% 或更多。 如果您正在寻找 PNG 图像优化器和压缩器,Pngquant 可能是一个不错的选择。
资源:
- Pngquant 网站
- Pngquant GitHub 存储库
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: 红迪网 | Facebook | 推特 | 领英 | RSS订阅
祝你有美好的一天!!
CLI图像压缩器图像转换LinuxOpensourcePNGPngquant