透明PNG压缩后出现白边,多数不是压坏了,而是透明通道在某个环节被丢掉了。最常见的情况是输出文件已经不是PNG,透明区域被填充成白色;其次是原图边缘本来就有半透明像素,处理时被压实成了一圈白。按顺序排查,通常几分钟就能定位。

先看输出文件还是不是PNG
这是排查的第一步,也最容易被忽略。打开文件属性看后缀,如果变成了JPG,白边基本可以确定是背景填充造成的。
JPG不支持透明通道,转换时会把透明区域填成某种底色,多数工具默认填白。所以画面四周那圈白边不是压缩产生的,而是背景色显出来了。
处理方法:回到原图,用PNG输出重新处理一次。需要换格式时,先确认接收方是否接受PNG。
再看白边是填充还是原本就有
如果后缀确实是PNG,白边还在,就要分辨它的来源。
整块填充:白边贴着画面四周,形状规整、颜色统一,说明是背景色填充。
顺着轮廓:白边沿着物体边缘走,宽度不均匀,说明是原图边缘的半透明像素被压成了实色。
前者是格式问题,后者是边缘问题,处理方式完全不同。
半透明边缘被压实的表现
抠图得到的素材,边缘往往有一圈半透明像素用来做过渡。处理时如果降低了颜色数或改变了通道处理方式,这些过渡会被迫变成全透明或全不透明。
表现就是轮廓外面多出一圈浅色描边,放在深色背景上尤其明显。
这类情况不能靠再压一次解决,要从更干净的原始素材出发;或者在使用时直接放在浅色背景上,让描边不显眼。
白边和描边不是一回事
排查时容易把两种情况混在一起。白边是背景被填充出来的,通常出现在透明区域和画面边缘之间,颜色纯、边界直;描边是素材自带的轮廓效果,沿着物体形状走,深浅还会变化。
分辨方法很简单:把图片放到深色背景上看。白边不会跟着变,描边会跟着背景一起显现。前者要改格式,后者属于素材本身的设计,压缩并没有改变它。
如果是抠图留下的半透明毛边,放在白底上看不明显,换深底就露出来。这类素材在使用前建议先确认背景色,别等到上线了才发现。
按顺序排查的三步
第一步,确认输出格式。看后缀,不属于透明PNG的直接排除。
第二步,换背景验证。把图片放到深色底上看一次。白色填充不会随背景变化,真正的透明区域会显示出底色。
第三步,重新处理。用压缩啦的图片压缩或转格式把输出明确设为PNG,重新生成一次,再放回原使用场景检查。

三步走完白边还在,说明问题在原图而不是压缩环节,需要换一张边缘更干净的素材。这一步看似麻烦,但比反复重压更省时间,也能避免把不同原因混在一起。
透明PNG常见问题
压缩后透明变成黑色是什么原因?
同样是不支持透明的格式在起作用,只是填充色设成了黑色。处理方式和白边一致:确认输出格式是PNG。
PNG压完文件还是很大怎么办?
先看画面颜色数量。纯色和简单图形的PNG压缩空间大,照片类素材空间很小。这类图如果不需要透明,转成JPG更有效。
放在网页上有白边,下载下来却没有?
可能是网页给图片加了背景色,或者容器底色是白色。先下载原文件验证,再判断是图片本身的问题还是页面样式的问题。
透明PNG出现白边,排查顺序是格式、填充、边缘三步:先确认输出还是PNG,再分辨白边是整块填充还是沿轮廓,最后回到原图或用PNG重新处理。多数情况是第一步的问题,改对格式就解决了。
