方法说明 · 用抽象无人物色片解释source-over顺序,区分单片固有颜色与多层合成结果。

里番动漫半透明叠色为何与顺序有关

里番动漫制作资料中的半透明叠色会受顺序影响:在普通source-over合成里,上层先按自身alpha贡献颜色,下方结果再按剩余比例参与。因此“蓝50%再红50%”与“红50%再蓝50%”通常不是同一结果,不能把两层简单平均后忽略底色。

里番动漫非露骨合成练习:白底上半透明红蓝色片交换顺序,逐步计算source-over结果,区分图层顺序、单层透明度和组合透明度。

发布于 2026-10-23 ·

直接答案

里番动漫半透明叠色为何与顺序有关

里番动漫制作资料中的半透明叠色会受顺序影响:在普通source-over合成里,上层先按自身alpha贡献颜色,下方结果再按剩余比例参与。因此“蓝50%再红50%”与“红50%再蓝50%”通常不是同一结果,不能把两层简单平均后忽略底色。

里番动漫抽象叠色图:白底上红蓝各50%按两种顺序合成,分别得到两组RGB值
图1:本站原创source-over数值练习;色片每层alpha为0.5,白底不透明,色块为结果示意。

循序阅读

操作步骤

  1. 固定底色、RGB通道空间与source-over模式。
  2. 标明每张色片的颜色、alpha和上下顺序。
  3. 从白底开始逐层计算第一种顺序。
  4. 只交换红蓝层,再计算与逐通道比较。
  5. 写清结果只适用于给定条件,不外推格式兼容性。

适用范围与例子性质

本文只用本站原创抽象色片,没有人物或作品截图。算例采用同一给定通道空间中的归一化RGB值、普通source-over与不透明白底,不涉及滤色、正片叠底等混合模式。图中色块是结果示意,不保证任意软件色彩管理下的显示观感相同。

先固定颜色、底色与运算条件

把红设为(1,0,0),蓝设为(0,0,1),白底为(1,1,1),每张彩色色片alpha均为0.5。这里只计算两张色片完全重叠区域内的一个像素,不讨论边缘覆盖、渐变或不同位置的透明度变化。

  • W3C合成规范给出source-over的简单alpha合成公式。当下方结果不透明时,本例可写成“上层颜色×0.5+下方颜色×0.5”。白底不透明,叠一层以后结果仍不透明,所以可以用这个简化式逐层复算,不能把它直接搬到任意透明底条件。

先蓝后红,按从下到上算两遍

第一步把蓝叠到白底:0.5×(0,0,1)+0.5×(1,1,1)=(0.5,0.5,1)。第二步把红叠到这个结果:0.5×(1,0,0)+0.5×(0.5,0.5,1)=(0.75,0.25,0.5)。图左侧用偏红的色块示意这组数值。

  • 这里的“先蓝后红”明确指蓝在较下方、红在较上方的顺序,不是鼠标最后点击了哪个图层。若图层面板按从上到下显示,阅读列表时要把书写顺序与合成顺序对应好,避免口头说“第一层”却指代不同位置。

交换顺序,哪些通道改变

先把红叠白底,得到(1,0.5,0.5);再把蓝叠上去,结果为0.5×(0,0,1)+0.5×(1,0.5,0.5)=(0.5,0.25,0.75)。与前一种相比,红通道从0.75变为0.5,蓝通道从0.5变为0.75,绿通道都为0.25。

  • 两张色片没有换颜色,也没有改各自alpha,只改变了上下顺序。共同白底的贡献经过两次折减成为0.25,因此两份结果都保留绿色分量;直接把红和蓝平均成(0.5,0,0.5)会漏掉白底,并不是本文的运算。

每层50%与整个组50%不是一回事

本例每一张色片分别以0.5参与合成。若先把内部层按另一条件合成,再对整个组设置0.5,那是不同的运算顺序与作用范围,不应仅因为面板上都出现“50%”就认为等价。比较设置时写清数值属于色片、遮罩还是整个组。

  • 为了让练习可复核,可以先只保留两层普通色片和白底,把其他效果与组设置记录为未使用。若实际工程无法复现本文数值,先核对混合模式、通道空间、底色与作用范围,不要直接认定软件计算错误。

画面透明与颜色合成结果要分开

本例最底层白色已经不透明,最后得到的整体仍不透明;两张上层半透明不意味着输出会有50%的透明背景。图里的白底若被保留进输出,它就是合成的一部分,不能靠交换红蓝层恢复一个透明背景。

  • 本页任务是比较重叠区域的颜色与顺序,不是检查某个视频容器是否支持alpha,也不保证任何平台能接收透明素材。要讨论导出或接收兼容性,需另外核对软件、编码与使用环境,不能从这两个色块推出文件格式能力。

用三个小练习检查理解

练习一只交换红蓝顺序,确认结果是(0.75,0.25,0.5)与(0.5,0.25,0.75)。练习二保持顺序但让最上层alpha变为1,在普通source-over下该区域将由最上层颜色覆盖;这说明“顺序不影响”并非一般结论。

  • 练习三把白底条件删掉,问还能不能原样使用本文两个最终数值。不能,因为下方alpha与颜色条件都发生变化,应回到完整公式重新计算。记录原条件与结果,比只保存一张看起来相近的截图更有利于交流合成问题。

常见问题

相关问答

里番动漫两层都是50%,交换顺序还会变色吗?

在本例普通source-over与白底条件下会。先蓝后红为(0.75,0.25,0.5),逆序为(0.5,0.25,0.75)。

为什么结果仍有绿色分量?

白底的绿色通道经两次各0.5的保留,贡献0.25;不能忽略底色只平均红蓝。

每层50%等于整个组50%吗?

不一定。数值作用于各层还是合成后的组,会改变运算过程,需明确作用范围。

图上的颜色能保证与所有软件完全一样吗?

不能。本页是声明通道空间与合成模式下的数值练习,软件色彩管理、其他混合模式与底色会影响显示。

数据透明度

参考资料与适用范围

未核验
  • Simple alpha compositing 已核验
    发布方
    W3C
    访问日期
    2026-10-23
    支持字段
    source-over颜色与alpha公式;本文条件和算例为原创
    查看来源