Pngquant – 在 Linux 上压缩 PNG 图像的命令行实用程序

鹏量子 是一个免费、开源和跨平台的命令行有损 PNG 压缩器。 它基于便携式 libimagequant 图书馆,并写在 C99. 它通过将PNG图像转换为更有效的方式显着减小了文件大小 8位 PNG格式并保留 完全 alpha 透明度. 您可能已经知道,8 位 PNG 文件通常比 24/32 位 PNG 文件小 60-80%。 使用 Pngquant 压缩的图像与所有网络浏览器和操作系统完全兼容。 Pngquant 可以一次压缩一个或多个图像。 在本指南中,让我们看看如何安装 Pngquant 以及如何在 Linux 上使用 Pngquant 压缩 PNG 图像。

内容

  1. 特征
  2. 在 Linux 中安装 Pngquant
    1. 从发行版的存储库中安装 Pngquant
    2. 从源代码安装 Pngquant
    3. 使用 Cargo 安装 Pngquant
  3. 在 Linux 上使用 Pngquant 压缩 PNG 图像
    1. 压缩 PNG 图像
    2. 压缩时显示状态信息
    3. 压缩多个PNG图像
    4. 更改输出文件名后缀
    5. 如果压缩文件的大小大于原始文件,则跳过保存文件
    6. Save 转换后的文件在不同的路径
    7. 以自定义质量压缩 PNG 图像
    8. 剥离图像元数据
      1. 帮助我们帮助您:

特征

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压缩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