1

我正在尝试从 Adob​​e Photoshop 实现“内阴影”样式。

我有 3 个 RGBA 层:源层(棕色)、内阴影层(白色)和背景层。它们可以具有类似 Photoshop 的混合模式(正常、正片叠底、颜色加深...) - 混合不是关联的!

我想将它们混合在一起,就像 Photoshop 中的图层样式一样。当我将阴影 alpha 与源 alpha 相乘并混合(阴影覆盖(源覆盖背景))时,我在对象周围得到了深色轮廓,其中源 alpha 介于 0 和 1 之间。

Photoshop 参考在左边,我的结果在右边。

“颜色叠加”和许多其他样式也会出现同样的问题。你知道如何正确地做到这一点 - 避免轮廓?

4

1 回答 1

0

我在PDF 格式 1.7的规范中找到了这个问题的答案,第 339 页。

因此,合成(阴影与(背景))是错误的。正确的做法是:

  1. 将具有背景的合成到临时通道C中,忽略的 alpha 并在任何地方使用 1.0 的 alpha 值。

  2. 以标准方式将(未裁剪的)阴影C合成到C中。

  3. 使用alpha 作为加权因子,计算C背景加权平均值。

如您所见,阴影与源和背景混合在一起。加权平均是我正在寻找的功能。

于 2013-08-19T18:24:41.327 回答