Photoshop总是将透明图像与白色混合在一起吗?

时间:2012-11-27 15:57:28

标签: colors photoshop transparent psd color-blending

看起来PSD文件中的合并图像数据包含与白色混合的RGB数据(基于透明度)。这对于所有版本的Photoshop / PSD都是正确的吗?我可以禁用它还是控制那种颜色?

上下文:我正在使用C ++代码阅读PSD文件(尽管不需要编码知识来回答我认为的问题)。 PSD文件包含“图像数据部分”(RGB,透明度(如果有),然后是alpha蒙版)中所有图层的合并数据。根据我的经验,看起来RGB数据是基于透明度预先乘以白色。当您想要将RGB与基于透明度的内容混合时,这会导致问题(请注意:我将该数据用作游戏引擎中的纹理)。我附上说明问题的图像。顶部图像是PhotoShop中的源代码。左下角显示合并数据中的RGB - 请参见透明图像部分与白色混合。我的目标是在没有白色混合的情况下从所有层获取RGB数据,即右下角的图像(只有完全透明的部分用白色填充)。

enter image description here

只需在任何忽略图层的工具(例如IrfanView)中打开透明PSD文件,您就会看到该图像是预乘的白色。

像PNG这样的格式支持透明图像部分的颜色 - 不会与白色(或其他颜色)混合。

所以我的问题是:我是否可以控制混合白色?所有PhotoShop版本都这样做吗?

2 个答案:

答案 0 :(得分:2)

如果我正确理解您的问题,听起来您可能已将图层与白色默认背景合并。默认情况下,Photoshop会将图像与周围的颜色混合在一起,所以如果您正在混合的图像周围有白色,那么它会混合白色,这适用于所有版本的Photoshop。

你应该在它自己的图层上拥有你想要模糊的东西,然后再试一次。

编辑: 好的。它推出的是什么,它是假设推出的。我假设你正在使用高斯模糊,如果你是,它正在做它应该做的事情。为了达到预期目标,您无法单独使用模糊工具。有些形状比其他形状更锐利,有些形状比其他形状更模糊。由于高斯模糊会对所有内容设置统一的模糊,因此无法期望Photoshop在一个简单的操作中执行您想要的操作(但如果您想多次执行此操作,则可以自行执行操作)。

要从A点到B点,我建议将每一行放在它自己的图层上,然后使用smudge toolblur tool来获取您想要的线条。以下是涂抹工具的示例:

enter image description here

对于更清晰的线条,您可能希望使刷子的硬度为100%而不是0%。 Photoshop很难像你要求的那样完全模糊完整的模糊线条。但你仍然可以使用模糊的线条。对于您想要做的凹凸不平的线条,您可以使用Magic Wand工具选择软笔触,然后使用Paint Bucket工具填充它们以获得您正在寻找的效果(之前)之后):

enter image description here

同样,Photoshop没有内置动作来执行您想要的操作。所有内置函数都对整个图像产生了普遍的影响,对于所有版本的Photoshop都是如此,但是很容易获得你想要的效果。确保所有内容都在其自己的图层上并尝试使用Photoshop提供的工具。

答案 1 :(得分:0)

你无法控制这一点。 Photoshop始终将图层与白色合并。

我们最终做的是在将PSD文件导入我们的引擎的过程中减去基于alpha值的颜色。