【发布时间】:2021-12-01 15:59:00
【问题描述】:
我一直在尝试将 GIMP (GEGL) 的一些图层混合模式实现到 Python。目前,我陷入了减法混合模式。根据documentation、Subtract = max(Background - Foreground, 0)。但是,在 GIMP 中使用Background image = (205,36,50) 和Foreground image = (125,38,85) 进行简单测试,得到的合成图像/颜色变为(170, 234, 0),这与上面的数学不太相符。
据了解,Subtract 不使用 Alpha 混合。那么,这可能是一个合成问题吗?或者减法遵循不同的数学?更多详细信息和背景可以在单独的SO 问题中找到。
编辑 [2021 年 10 月 14 日]:
我尝试使用this 图像作为我的来源。对[0, 1] 范围内归一化的图像执行以下步骤:
- 应用了颜色减淡(之前没有从
sRGB -> linear RGB完成转换)并从我的实现中获得了与 GIMP 结果匹配的 this。 -
sRGB -> linear RGB颜色减淡和源图像的转换。 [Reference] - 应用与
Background = Colour Dodge和Foreground = Source Image的减法混合 - 重新转换
linear RGB-> sRGB
我从 POC 获得this。左 RGB 三元组:(69,60,34);右 RGB 三元组:(3,0,192)。还有 GIMP result。左 RGB 三元组:(69,60,35);右 RGB 三元组:(4,255,255)
【问题讨论】:
标签: photoshop gimp blending color-blending gegl