-2

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

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

在此处输入图像描述

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

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

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

4

2 回答 2

2

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

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

编辑:好的。好吧,它推出的是它应该推出的东西。我假设你正在使用高斯模糊,如果你是,它正在做它应该做的事情。为了达到您的期望,您不能单独使用模糊工具。有些形状比其他形状更清晰,有些形状比其他形状更模糊。由于高斯模糊对所有内容都设置了统一模糊,因此不可能期望 Photoshop 在一个简单的操作中完成您想要的操作(但如果您想多次执行此操作,您可以自己进行操作)。

为了从 A 点到 B 点,我建议将每条线放在它自己的层上开始,然后使用smudge toolandblur tool来获取你想要的线。这是涂抹工具的示例:

在此处输入图像描述

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

在此处输入图像描述

同样,Photoshop 没有内置的动作来做你想做的事。所有的内置函数都对整个图像产生通用效果,这适用于所有版本的 Photoshop,但很容易获得您想要的效果。确保一切都在它自己的图层上,并尝试使用 Photoshop 提供的工具。

于 2012-11-29T05:51:21.503 回答
0

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

我们最终做的是在将 PSD 文件导入我们的引擎期间根据 alpha 值减去颜色。

于 2014-06-14T08:42:52.843 回答