在 GIMP 中应用透明背景

在 GIMP 中应用透明背景

如何删除背景并替换为透明度(如 PS 中的方格背景所示)?然后我可以导出图像的文件类型是否有任何限制?

答案1

  1. 选择图层 → 透明度 → 添加 Alpha 通道
  2. 使用选择背景模糊选择工具(魔法棒)

    并按下Del键。

动态图片可以实现单色透明度,同时 巴布亚新几内亚具有完整的 alpha 通道支持。

答案2

  1. 打开图像并从菜单中选择“选择”>“按颜色”。
  2. 单击您想要删除的颜色。
  3. 从菜单中选择颜色 > 颜色到 Alpha,然后单击确定。

这样就能得到您想要的透明格纹背景。如果背景由多种颜色组成,只需根据需要重复这三个步骤即可。

答案3

我发现以下内容对我来说最简单,而且我真的很喜欢这种效果。

# 选择前景
主菜单 > 工具 > 选择工具 > 前景选择

# 选择背景
主菜单 > 选择 > 反转

# 使透明
主菜单 > 颜色 > 颜色转 Alpha

完毕

答案4

谨防过于简单的解决方案

在 CGI(徽标、文本)上,平滑边缘由抗锯齿像素产生。这些像素的颜色是背景颜色和主体颜色的混合。当您使用颜色选择器或模糊选择器时,这些像素要么被完全选中(如果它们足够接近),要么根本不被选中,具体取决于阈值。如果您直截了当地说Delete,您会得到一个带有已移除背景颜色的光晕(阈值 15)或锯齿状边缘(阈值 100),或者两者兼而有之:

阈值 阈值放大

一个好的解决方案

好的解决方案是将背景颜色替换为透明度,其比例与颜色混合的贡献成正比。在 Gimp 中,有两种方法可以实现这一点:

  • Colors>Color to alpha
  • Color erase模式,作为绘画工具模式,或者自 Gimp 2.10 起作为图层混合模式。

它们都用最透明的像素替换像素,然后覆盖被移除的颜色,重新生成初始颜色。如果从紫色中移除红色,则会得到半透明的蓝色,因为半透明的蓝色覆盖红色会产生紫色。如果从灰色中移除白色,则会得到非常透明的黑色像素,而不是不太透明的深灰色像素,因为在几个解决方案中,Gimp 选择了最透明的一个。

例如,使用 Color-to-alpha 去除红色会产生以下结果:

颜色到 alpha 的结果 颜色到 alpha 结果放大

您会注意到,在 2.8 的结果中,由于 Gimp 2.8 处理伽马校正值,所以像素较暗(结果仍然比使用更简单的方法得到的锯齿状边缘好得多)。Gimp 2.10 在“线性光”下工作,没有这样的问题。

改进

一般情况下,主体可能会有接近背景颜色的部分。因此,如果您应用上述技术,这些部分将变得透明(或部分透明)。避免这种情况很简单:

  • 使用魔杖选择背景。通常的阈值(15)就可以了。
  • Select>Grow选中内容,使其覆盖抗锯齿像素。在干净的图像(PNG,无 JPG 历史记录)上,您不需要增加超过一个像素。如果图像很脏(JPEG 伪影),则可能需要将选中内容增加两到三个像素。
  • 应用颜色转 alpha。主体内部的像素(不包括在选择中)不会改变。颜色转 alpha 将应用于背景和边缘像素(重要的地方)。

输出文件类型

  • JPEG 不支持透明度
  • GIF 支持二元透明度(全部不透明或全部透明),因此您的半透明边缘像素将被改变。您可以使用“图层 > 透明度 > 半扁平化”用新颜色(将使用 GIF 的背景颜色)填充这些边缘像素的透明度。
  • PNG 完全支持部分透明度,是目前的首选格式。
  • WEBP 是 Google 赞助的一种新格式,可以是有损格式也可以是无损格式,并且支持部分透明度。Gimp 2.10 支持该格式,但您必须确保在要使用它的地方也支持该格式(例如,在较旧的浏览器中不支持该格式)。

相关内容