我正在使用以下内容通过pngcrush优化一些png图像:
exec(
"pngcrush -q -blacken -brute -reduce -rem alla -rem text -rem time {$source} {$destination}",
$output,
$return_var
);
优化效果非常好,但对于某些图像,png会创建透明度所在的黑色块。
当我删除-reduce选项时,问题就消失了,但是PNG优化做得很少,而且根本无法运行优化。
我假设问题与透明度有关,那么有没有办法告诉pngcrush,跳过-reduce命令,仅适用于没有透明度的图像?
答案 0 :(得分:1)
请勿使用-blacken
,因为这是导致问题的直接原因。
添加了-blacken选项,可以更改任何颜色样本 在颜色类型为4或6的PNG文件中,全透明像素为零, 可能会提高其可压缩性。请注意,这是一个 不可逆转的有损变化:所有完全透明的底层颜色 像素丢失,如果它们还不是黑色的。
可能有些透明像素不像它们看起来那么透明。
答案 1 :(得分:0)
我在v1.7.65上遇到了这个问题,只有" -reduce"选项。相同的图像和命令在v1.7.86上运行良好。