在Gimp中使图像背景透明


303

我有一些jpg图片,每个图片都需要有透明的背景。

我有GIMP作为图形工具。

我需要将它们放在网页中,并且只需要看到主要元素并具有透明背景。


只是弄清楚了,如果您使用的是Macbook,则必须fn-delete在选择魔术棒之后按一下;)删除本身并不起作用。
2016年

Answers:


307

为了扩展utopicam的答案,有时您的图像可能包含要半透明的区域,例如阴影。例如,假设您在灯箱中拍摄了一张照片,例如这张精美且免费许可的瑞典木制玩具马的图片,该图片Creative Tools提供

Dalekarlian玩具马在灯箱中的照片,由Creative Tools根据CC-By 2.0授权

通常,第一步是调整图像的级别,直到背景真正变成纯白色为止,除了我们要保留的阴影和反射之外。(您也可以在灰色或彩色背景上使用此技术,但那样很难获得良好的效果。)在这种情况下,图像已经很好地进行了调整,因此我们无需为此做任何事情。

下一步是选择背景。使用魔术棒工具非常容易做到这一点,尽管我必须使用套索工具修复对象上的白色条纹与背景融合的一些位。同样,一旦选择好背景,我将选择范围扩大了几个像素(在全分辨率下),以避免由于混叠而在对象周围留下白色的光晕。(您无法在此缩小的屏幕截图中看到它,但是如果我自己说的话,我确实设法做出了很好的选择。)

与所选背景相同的图片

现在,这就是窍门:我使用了ColorsColor to Alpha而不是简单地剪裁背景,将背景颜色(白色)更改为透明。(您也可以按照utopicam的建议在“颜色擦除”模式下使用存储桶填充。)如果将其应用于整个图像,这也会使对象看起来也是半透明的,但是由于仅选择了背景,因此阴影在对象自身停留时变为半透明不透明:

将颜色应用于Alpha后的图片

这是浅蓝色背景上的同一张图片,以更好地显示半透明阴影和反射:

淡蓝色背景上的同一张图片

我没有显示的另一个窍门是,制作图像层的两个副本,将选择内容转换为上方的图层蒙版并将下方的颜色应用于Alpha,通常更方便。这使您可以通过编辑遮罩来微调对象的边缘,同时实时查看结果的外观。(提示:制作一些填充有不同颜色的背景层,以便您可以轻松检查图片在不同背景上的外观。)特别是,有时在对象边缘附近使高光略微透明可以使结果看起来更好和更自然,因为它模仿了对象反射的背景。


1
the first step would be to adjust the levels of the image until the background really is solid white-应该为我们的假人包括哪些措施?还是我应该问一个单独的问题,如何做?
hippietrail

1
@hippietrail:级别工具通常做得很好:只需将最右边的输入滑块向左移动直到看起来不错,或者使用白色的滴管即可。如果截断看起来太尖锐,则可以切换到“将这些设置编辑为曲线”并将其平滑。(基本上,您通常想要的是一条基本上是线性的曲线,但会在顶部边缘附近稍微弯曲以逐渐与之相交,而不是在一个尖锐的拐角处。)
Ilmari Karonen 2013年

我喜欢使用曲线工具将“白色”背景移到全白。这也为整个图像的其余部分提供了很好的直方图拉伸。
紫色先生

75

使用快速铲斗填充而不是轮廓选择

注意:本教程也提供PDF版本。

同胞雷内·马格利特(RenéMagritte) 出于本教程的目的而被部分破坏。

添加一个Alpha通道

某些图像类型缺少透明通道。例如JPG。在这种情况下,请添加Alpha透明度通道。通过选择完成Layer → Tranparency → Add Alpha Channel

桶装颜色[可选]

下一步是可选的,包括先用纯色填充应变为透明的区域。选择铲斗填充工具或点击Shift+ B。在Bucket Fill工具箱选项中,Fill transparent areas仅在必要时选择。在调整以获得最佳结果的同时,请选择BG colour fillSample merged进行一些尝试Threshold。在两者之间,按Ctrl+ Z撤消。

某些颜色混合是不可避免的,甚至是所希望的。(在这方面,Adobe Photoshop没什么不同。)因此,选择一种与最终使用最终图片所使用的背景兼容的颜色。单击Tool Options工具箱窗口上半部分中的背景色矩形以更改背景色。在这里,我用作f3f3e9纯色填充的背景色。但是,也可以使用吸管工具从桌面上的任何地方选择颜色。

<code>桶填充</ code>:仅在必要时选择<code>填充透明区域</ code>。 请选择<code> BG颜色填充</ code>和<code>样本合并</ code>,并在调整<code> Threshold </ code>以获得最佳效果时进行一些尝试。 在两者之间,按<kbd> Ctrl </ kbd> + <kbd> Z </ kbd>即可撤消。

<code>桶填充</ code>已应用。 选择与最终使用最终图片所使用的背景兼容的填充色。 这是因为不可避免地甚至需要某种颜色混合。 在这里,我使用<code> f3f3e9 </ code>进行纯色填充。

按颜色选择

现在正确的做法是Select → By Colour。它可能很吸引人Colour to Transparency,但是这也会改变所需图像区域内的半透明区域。这次,请同时选择Fill transparent areasSample merged。对于此特定示例,我选择不应用Antialiasing也不Feather edges。尽管如此,请尝试这些设置并选择最合适的设置。再次,尝试几次以调整Threshold为最佳结果。在两者之间,按Ctrl+ Z撤消。

<code>按颜色选择</ code>:这一次,请选择<code>填充透明区域</ code>以及<code>样本合并</ code>。 再次,在调整<code> Threshold </ code>时进行一些尝试,并尝试使用<code> Antialiasing </ code>和<code> Feather edge </ code>获得最佳效果。 在两者之间,按\ <kbd> Ctrl </ kbd> + <kbd> Z </ kbd>可以撤消。

<code>选择→按颜色</ code>应用

从选择中减去

有时,很难正确选择颜色。由于颜色匹配,因此可能还会选择一些所需的图像区域。在这种情况下(几乎看不见),还选择了管道中间的九个所需像素进行删除。发生这种情况时,请在选择的工具上使用Ctrl+ 选择减法选择区域。DragSelect

将<kbd> Ctrl </ kbd> + <code> Drag </ code>与您选择的<code> Select </ code>工具一起使用,以选择减法选择区域。

现在选择了所需的透明区域。

增加选择项[可选]

在所需图像的边缘,背景的某些阴影仍未选中。在这种情况下,请使用增大像素的选择范围Select → Grow… → 1px

删除

选择所需的透明度区域后,只需点击Delete

选择所需的透明度区域后,只需点击<kbd> Delete </ kbd>。

最后结果

最后,将透明图像导出为File → Export As...支持透明性的文件格式。最好是PNG,但GIF也可以。

最终结果


4
您可能希望将选择项增加1像素以删除白色边缘(选择>增长> 1>确定)
MonoThreaded

4
我一点都不精通图形设计。我需要删除背景的每一次罕见的场合,我似乎都会回到这个答案。谢谢!
slayernoah

1
我还发现,Feather在选择中使用该选项对于边缘相对于空白模糊的图像也很有帮助。
jocull

1
谢谢:已经有一个纯白色背景的jpg,就这么简单:添加透明层,选择,删除。
djvg

21

听起来您需要裁剪jpg的某些部分(例如主图)并删除“背景”。您可以使用套索工具执行此操作。

gimp网站上有很多教程和说明。检查此http://docs.gimp.org/en/gimp-painting.html#gimp-concepts-selection并检查 :http : //docs.gimp.org/en/gimp-tool-free-select.html

每次单击时,多边形选择都会创建一个锚点。然后,移动鼠标指针将绘制一条带有新锚点的线,只要不再次单击即可移动。

您可以通过不同的方式访问套索工具:

  • 从图像菜单栏中,工具→选择工具→自由选择,

  • 通过单击工具箱中的工具图标,

  • 通过使用键盘快捷键F

要使图像的纯背景透明,请添加Alpha通道,然后使用魔术棒选择背景。然后,使用“拾色器”工具选择背景颜色,该背景颜色在“工具箱”中成为前景色。使用具有所选颜色的“桶填充”工具。将“ Bucket Fill”模式设置为“ Color Erase”,它将擦除具有所选颜色的像素;其他像素将被部分擦除,并且其颜色会更改。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.