为什么压缩 PNG 后透明就消失了?
更新于

压缩 PNG 并不会去掉透明。如果镂空区域变成了纯色,说明文件被存成了 JPG。JPEG 没有透明通道,透明像素会被压到背景上(默认是白色)。请继续使用 PNG,或者在需要更小文件且仍要透明时使用 WebP。EditItAll 在浏览器中运行,不会上传任何内容。
现在就做——免费,在浏览器里
Open the PNG compressor压缩 PNG 并不会删除透明度
PNG 从一开始就设计为保留透明通道:逐像素的不透明度,让标志、贴纸和抠出的产品图可以叠在任意背景上。默认的 PNG 重新压缩是无损的:它只是把相同的像素(包括透明通道)重新打包。画面看起来应完全一样,镂空也都在,只是文件更紧凑。
如果镂空被填满了,并不是你“把 PNG 压坏了”。你已经离开了 PNG。常见出口是 JPEG,它完全无法存储透明度。那是格式转换,不是 PNG 的某个设置。PNG 格式指南才是正确的心智模型:无损,带透明;照片文件仍然很大。
真正把图像压平的原因
请检查下载后的文件名和类型:
- 文件现在是 JPG。透明像素被合成到纯色背景上(默认是白色),透明通道被丢弃。PNG 转 JPG 转换总会如此:JPG 根本没有地方存放半透明像素。
- 它仍是 PNG,但棋盘格不见了。图可能在压缩前就已经被压平,或者画质滑块被拉得太低,调色板被削减。默认的 PNG 压缩不会压平。
- 你需要更小的文件,因此选了 JPG。体积和透明度是两件不同的事。JPG 在照片上更省体积,但会丢掉透明通道。PNG 保留透明通道,文件也更大。
你无法从已经压平的 JPG 上把原来的透明画回去。被丢弃的透明通道已经没了,就像有损细节一样回不来。请保留一份母版 PNG。
保留镂空:继续用 PNG,或改用 WebP
打开PNG 压缩器,放入原来的透明文件,不要用已经压平的副本。
- 输出保持为 PNG。默认重新压缩是无损的,所以透明度会保留。看一看输入→输出的体积变化。照片几乎压不小;标志、图标和截图通常可以。
- 如果 PNG 仍然太大,又必须保留透明,请改为按 WebP 压缩。WebP 可以存储透明通道。JPG 不能。
- 如果你确实想要 JPG(带纯色背景的照片),就有意压平并选好背景色,要知道镂空不会回来。
一切都在你的设备上运行。文件永远不会被上传,导出时会剥离 EXIF,页面加载后即可离线使用。无损 PNG 的习惯见压缩 PNG 而不损失画质;照片 PNG 为什么仍然很大,见为什么 PNG 文件这么大。
常见问题
压缩 PNG 会去掉透明度吗?+
默认设置下不会。PNG 重新压缩是无损的,透明通道会保留。如果透明度消失了,文件几乎肯定被存成了 JPG,或被压到了背景上。
为什么我的透明 PNG 变成了白色?+
JPEG 没有透明度。把 PNG 转成 JPG 会把半透明像素合成到背景上(默认是白色),并丢掉透明通道。那片白色就是背景,不是损坏的 PNG。
存成 JPG 之后还能找回透明度吗?+
不能。透明通道已经没了。如果还留着原来的 PNG,请改压缩那份。已经压平的 JPG 无法重建镂空。
哪种格式既能保留透明又比较小?+
PNG 可以无损保留透明度。WebP 能以更小体积保留透明,若使用有损设置则会有画质取舍。JPG 在任何画质下都不能保留透明。
压缩 PNG 时文件会被上传吗?+
不会。PNG 压缩器完全在浏览器中运行。文件不会离开你的设备,页面加载后离线也能用。