【发布时间】:2012-03-06 03:57:29
【问题描述】:
给定:一个像素,它的颜色(表示为 PC0)和 alpha 值(表示为 PA0),它叠加在某种颜色的背景上(表示为 BC)。
问题:如何将像素 (PA0) 的 alpha 值更改为另一个值(表示为 PA1),以使生成的像素和背景的合成颜色不改变(PBC0 == PBC1)?换句话说,您如何找到这样的 PC1 使原始和生成的复合颜色(PBC0 和 PBC1)看起来相同?
【问题讨论】:
-
所以,BC=原始背景,PBC0=叠加像素颜色,PA0=原始 alpha 值,PA1=新 alpha 值。哪些是给出的? PBC0、PA0 和 PA1,但不是 BC?
-
@Igorostrovsky 给定:PC0 = 原始颜色,PA0 = 原始 alpha,BC = 恒定背景颜色,PA1 = 新 alpha,即除了 PC1 之外的所有内容,PC1 是应该构成像素的颜色在像素的 alpha 从 PA0 过渡到 PA1 后,在给定的背景下看起来没有变化。而 PBC0 和 PBC1 是像素和背景合成产生的两种相同的不透明颜色,发生 alpha 转换之前的 PBC0 和之后的 PBC1。
-
我能问你申请的是什么吗?我真的很好奇
-
@MyCarta 该应用程序正在执行基于指定颜色(称为关键颜色)为图像生成透明度信息的过程的第二阶段,条件是生成的图像应该看起来如果在填充了主色的背景上分层,则与原始版本相同。第一阶段将通过将图像的每个像素与关键颜色进行比较来确定 alpha 值,并以某种方式估计两者之间的相似性。第二阶段是修改半透明像素的颜色以满足上述条件。
-
有趣的东西 Desmond,我会研究一下。谢谢
标签: image image-processing colors transparency