Answers:
是的,有可能。让我以Wikimedia Commons(由ed_g2s许可,授权为CC-By-SA 3.0)中的这张图片为例来概述它的完成方式:
将黑白背景版本打开为同一图像的图层(使用“ 作为图层打开...”,或者只打开两个并将它们复制并粘贴到另一个中)。如果不是这样,请将白色层移到黑色层上方。两层应该看起来像这样:
采取不同的层:克隆黑色层(稍后将需要),将白色层的层模式更改为“差异”,然后将其合并。反转结果。这为您提供了原始图像的Alpha通道。
编辑:如果您的背景不是黑白的,则反转的差异层将不会具有黑色背景。要解决此问题,请首先使图层饱和(使用可以提供最佳对比度的任何一种模式),然后使用“ 颜色”→“自动”→“规格化”将背景设为黑色。您也可以改用Channel Mixer,但是使用起来有些麻烦。
(如果要重新创建的Alpha通道至少某些部分具有100%的不透明度,则上面的Normalize起作用;如果要重新创建的图像到处都是半透明的,则可以使用颜色→色阶...来仅设置黑点。 )
如果还没有,则还需要创建一个黑色背景的图像版本,用于下一步。为此,请使用以下额外步骤:
如果我们使用带有预乘alpha的图像格式,那么现在或多或少就会完成。但是由于不是这样,我们仍然需要对RGB通道进行去乘。为此,请克隆上一步中创建的Alpha层(或仅将其复制到剪贴板),将其层模式设置为“ divide”,然后将其与您在步骤2之前克隆的黑色背景层合并。应该看起来像这样(与原始的黑色背景版本进行比较以了解不同之处):
现在,将图层蒙版添加到生成的图层,选择蒙版并将Alpha图层粘贴到其中。现在,结果应看起来或多或少类似于原始的透明图像。最后,要将遮罩变成正确的Alpha通道,您可以应用它(但是GIMP的PNG导出将为您做到这一点,即使您不这样做)。然后您就可以开始使用了-一个重建的透明PNG准备就绪:
当然,此技术确实要求您在纯黑色和纯白色背景上都具有图像版本。如果背景有点偏,可能仍然可以使用类似的方法,但是您可能需要进行其他颜色调整,结果可能不尽人意。(编辑:请参见上述步骤2的补充。经修改的说明应适用于任何颜色的背景,只要它们是纯色即可。)
附言 GIMP还具有“颜色擦除”功能(作为“桶填充”工具的混合模式,或作为整个图像的“ 颜色转换为Alpha ... ”),当您只有一个图像版本时,该功能可用于重建透明度在纯色背景上。但是,除非谨慎使用,否则它的确会产生比您可能希望的输出更加透明的输出。
点子 如果您非常仔细地比较原始图像和重建图像,您会发现它们并不完全相同 -一些颜色值偏离了1/256左右。这是因为GIMP的“除法”图层模式是如何工作的:与其计算输出 =(255× input)/ layer的alpha乘法的真逆,它实际上是计算output =(256× input)/(layer+1)。表面上的这种失配是为了避免被零除而完成的,这意味着某些颜色的舍入值可能会与应有的值略有不同。las,除了修补GIMP,编写插件以按我们希望的方式进行划分或使用其他程序外,我对此一无所知。不过,幸运的是,人眼实际上几乎不会察觉到色差。