在 Java 的 AWT 中,alpha(不透明度)使用从 0(完全透明)到 255(完全不透明)的值表示。如何正确混合 alpha 值,例如实现淡入淡出效果?如果子元素相对于其父元素的 alpha 为 200,而父元素的 alpha 为 100,那么最终绘制的像素的 alpha 是多少?
问问题
2090 次
2 回答
2
您对像素 Alpha 值有多少控制?你在寻找什么样的淡化效果?
默认情况下,不同的图形系统可能会实现不同的 alpha 操作。我认为最直观的,因此通常是默认的一个是:
DestColor = DestColor * (1 - SourceAlpha) + SourceColor * SourceAlpha
DestAlpha left as-is
使用此方案,源 alpha 仅影响目标表面的颜色分量,而不影响目标表面 alpha 本身。
我不确定 AWT 的行为如何,或者它是否可以让您对 alpha 混合操作进行任何级别的控制,但理论上 alpha 可以以许多不同的方式应用。
于 2011-04-25T23:44:37.117 回答