看起来 PSD 文件中的合并图像数据包含与白色混合的 RGB 数据(基于透明度)。这对所有版本的 Photoshop/PSD 都正确吗?我可以禁用它或控制该颜色吗?
上下文:我正在使用 C++ 代码阅读 PSD 文件(尽管回答我相信的问题不需要编码知识)。PSD 文件包含“图像数据部分”中所有图层的合并数据(RGB、透明度(如果有),然后是 alpha 蒙版)。根据我的经验,RGB 数据似乎是基于透明度与白色预乘的。当您想将该 RGB 与基于透明度的东西混合时,这会导致问题(想想:我将该数据用作游戏引擎中的纹理)。我附上了说明问题的图片。顶部图像是 PhotoShop 中的来源。左下角显示合并数据中的 RGB - 请参阅透明图像部分与白色混合。我的目标是从没有白色混合的所有图层中获取 RGB 数据,即右下角的图像(只有完全透明的部分填充有白色)。
只需在任何忽略图层的工具(例如 IrfanView)中打开透明 PSD 文件,您就会看到图像预乘以白色。
像 PNG 这样的格式支持透明图像部分的颜色 - 不会与白色(或其他颜色)混合。
所以我的问题是:我可以控制那种混合白色吗?所有的 Photoshop 版本都这样做吗?