问题标签 [pngquant]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
250 浏览

image-processing - 使用 pngquant 库/算法时是否有任何可见颜色损失的样本?

我想开始在我们的产品中使用 pngquant 库来改进我们的自定义 png 压缩。但是 png quant 是有损的,而且很难卖。我会得到的主要反对意见是我们不能失去颜色/质量。当 png quant 算法生成质量明显损失的压缩 png 图像时,是否有任何样本/案例?

0 投票
1 回答
1078 浏览

php - Install pngquant on apache server and use it in command shell

First, I am trying to compress png images using https://pngquant.org/, but I didn't know how to download it on Apache server (Windows). The browser hits an error that pngquant is not installed on server (xampp). How do I do that?

Second, do I have to do this:

after this code here https://pngquant.org/php.html ?

I've never used command line in PHP. Thanks.

0 投票
0 回答
193 浏览

png - 使用 pngquant 应用程序减小 png 的大小

我有数百万个 png 格式的地图图块。子目录中的所有文件,例如 0/0/0.png,1.png...

如何使用 pngquant 批处理命令减小所有 png 的大小

0 投票
1 回答
220 浏览

php - 这个转义的 shell 命令是否错误

这是我在 PHP 中通过 exec 命令运行的转义 shell 命令:

我得到返回码 1(即错误)。另一方面,如果我 pngquant "--force" "--ext=.png" "--" "F:\laragon\www\demo\images\uploads\43d67cba7a951378485882e5b515c825943f7d0a.png"直接在 shell 中运行,它工作正常。

我转义命令和参数的方式有问题吗?

编辑 1: 这是我的 PHP exec 命令:

C:\Program Files\pngquant\pngquant.EXE$this- > cmdprint_r($args)在哪里?

0 投票
1 回答
694 浏览

gulp - Gulp Imagemin 没有完成

这是我的 Gulp 任务:

我正在使用 gulp imagemin 和“imagemin-pngquant”,以及“imagemin-jpegoptim”

在我的源代码中,我有两张图片,一张 jpg 和一张 png。jpg 被压缩,但不是 png。

这是我的 CLI 的样子: 在此处输入图像描述

没有错误,没有完成。

0 投票
0 回答
265 浏览

image-processing - pngquant 需要花费大量时间来压缩较大的图像

我正在使用 pngquant 通过 gulp 进行图像压缩。我有一个包含很多 png 图像的资产文件夹。大多数图像的文件大小约为 100kb,但大约有两个或三个图像的文件大小约为 2MB。

当我使用 pnquant 开始我的 gulp 任务时,除了较大的图像之外,每个图像都会立即被压缩。完全压缩它们大约需要 10 分钟。这是正常的吗?

我知道较大的文件需要更长的时间来压缩是可以的,但这太多了,即使对于那个文件大小也是如此。

0 投票
2 回答
504 浏览

redhat - 编译 pngquant 的静态版本

我正在尝试在 Oracle Linux Server 7.1 版中创建 pngquant 的静态链接版本。我已经编译了 zlib 的静态版本和 libpng 的静态版本。

然后,当我配置 pngquant 时,我总是得到它会与 zlib 的共享版本链接的信息。

如果我执行 make,在输出中似乎选项已正确传递给编译器。但是,生成的二进制文件需要执行 libz.so。似乎我的指令被忽略了,或者安装的版本总是优先。

有什么方法可以强制使用 zlib 的静态版本编译 pngquant?

0 投票
2 回答
1138 浏览

php - pngquant PHP 示例不起作用

我正在尝试使用pngquant压缩算法使用 WAMP 动态压缩 PNG 图像。他们提供了一个PHP 示例,(我认为)应该使用Windows 的命令行二进制文件,我已将其放入system32文件夹中,并且可以从命令行的任何位置访问。

我已经以他们为榜样,并将问题追根溯源$compressed_png_content = shell_exec("pngquant --quality=$min_quality-$max_quality - < ".escapeshellarg( $path_to_png_file));。我已将其简化为,var_dump(shell_exec('pngquant - < test.png'));但它仅输出前 5 个字符,即使passthru('pngquant - < test.png');似乎将正确的输出作为字符串发送给用户。exec('pngquant - < test.png',$output); var_dump($output);似乎也捕获了正确的输出,但是以数组的形式,我真的不知道如何将其转换回图像文件。我想在一个变量中捕获输出,以便我可以使用进一步的压缩算法和操作并将其作为可下载文件发送给用户。

我已经阅读了system() vs exec() vs shell_exec() vs passthru() vs proc_open() vs popen() 之间的区别。Shell_exec() 似乎是正确的选择,但是它在 php.net 上说shell_exec()输出一个字符串。这会是个问题吗?如何正确地将pngquant - < test.png命令输出捕获到变量?

0 投票
1 回答
2343 浏览

image - 如何使用 PNGQUANT 执行批量 PNG 压缩并将所有转换后的图像及其源名称保存到另一个文件夹?

我想压缩目录中存在的所有图像文件,并使用pngquantpng将所有这些转换/压缩的图像文件保存到具有原始图像名称的不同文件夹中:

批量压缩的语法:

它压缩目录中的所有PNG图像文件,images并将压缩文件保存为同一目录中的新文件,并在原始文件名后附加-fs8 ,例如

arrow.png是源文件,arrow-fs8.png是输出文件。

我想将所有转换后的文件及其原始名称保存在单独的文件夹中。

有谁知道如何用pngquant.exe做到这一点?

pngquant通过使用选项运行它来帮助输出-h

0 投票
1 回答
44 浏览

php - 内容而不是shell中的路径

Pngquant 有以下 php 示例

我想$path_of_file用实际内容替换。

这将避免在将文件从一种格式转换为 png 并对其进行优化时浪费 I/O

在那种情况下新的shell_exec()命令是什么