【发布时间】:2010-12-29 11:18:45
【问题描述】:
是否有任何软件、插件或技术可以创建/导出具有平滑透明边缘的类似 PNG 的 GIF,至少对于子弹或按钮等较小的图像。
我有时真的不得不为 IE6 使用 GIF,所以如果知道这样的工具是否存在会很棒?
谢谢
【问题讨论】:
标签: image png transparency gif
是否有任何软件、插件或技术可以创建/导出具有平滑透明边缘的类似 PNG 的 GIF,至少对于子弹或按钮等较小的图像。
我有时真的不得不为 IE6 使用 GIF,所以如果知道这样的工具是否存在会很棒?
谢谢
【问题讨论】:
标签: image png transparency gif
不,GIF 格式不像 PNG 那样支持 alpha 通道透明度。您只能从 GIF 中 256 种可能的颜色中选择一种来透明。
如果您大致知道背景将是什么颜色,那么您可以做的最好的事情是创建具有您计划使用它的相同背景的 GIF,然后将背景颜色选择为透明。平滑的边缘在特定背景下看起来很平滑,但在其他颜色下看起来很糟糕。
【讨论】:
PNG 中的边缘是平滑的,因为它具有抗锯齿功能,因此具有可变的不透明度。 GIF 格式不支持这一点,所以很遗憾,没有办法做到这一点。
【讨论】:
是的,GIF 可以是透明的,只需使用 png 透明框架,当嵌入到 css 中时,它会具有透明背景。
background: url(../images/mundog.gif) no-repeat;
【讨论】:
GIF 没有像 PNG 那样的 alpha 通道,因此您无法获得平滑的透明边缘。 Alpha 通道指定每个像素的透明度,例如,您可以使用半透明像素。另一方面,GIF 被限制为 8 位颜色,其中一个被指定为透明颜色。
【讨论】:
据我回忆(我已经有一段时间没有使用 GIF 了),GIF 没有可变的透明度——一个像素要么是透明的,要么是不透明的。 您可以通过与背景图像混合来模拟透明度,但这将依赖于具有静态、已定义的背景。
【讨论】:
对此的现代解决方案是使用 WebP 而不是 GIF。
WebP 支持动画和 Alpha 通道,以及无损压缩。
现在的浏览器是well-suported。
【讨论】: