首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pngcrush导致部分图片背景变黑

pngcrush导致部分图片背景变黑
EN

Stack Overflow用户
提问于 2014-01-29 16:23:01
回答 2查看 407关注 0票数 0

我正在使用pngcrush优化一些png图像:

代码语言:javascript
复制
exec(
    "pngcrush -q -blacken -brute -reduce -rem alla -rem text -rem time {$source} {$destination}",
    $output,
    $return_var
);

优化效果非常好,但对于一些图像,png会在透明度消失的地方创建这些黑色块。

当我删除-reduce选项时,问题就消失了,但是PNG优化做得很少,而且运行优化也没有任何用处。

我假设问题与透明度有关,那么有没有办法告诉pngcrush,跳过-reduce命令,只针对没有透明度的图像?

EN

回答 2

Stack Overflow用户

发布于 2014-01-30 00:22:27

不要使用-blacken,因为它是问题的直接原因。

来自the changelog

添加了-blacken选项,以允许在颜色类型为4或6的PNG文件中将任何全透明像素的颜色样本更改为零,从而潜在地提高其可压缩性。请注意,这是一个不可逆转的有损更改:所有完全透明像素的底层颜色都会丢失,如果它们还不是黑色的话。

可能你的一些透明像素并不像它们看起来那样透明。

票数 1
EN

Stack Overflow用户

发布于 2015-09-28 03:40:28

我在v1.7.65中只使用了"-reduce“选项就遇到了这个问题。相同的图像和命令在v1.7.86上运行良好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21425636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档