gpt4 book ai didi

Java 透明度 : Graphics2D. setComposite(...,alpha) vs. Color(...,alpha)

转载 作者:行者123 更新时间:2023-12-04 04:52:50 28 4
gpt4 key购买 nike

我想知道 Graphics2D.setComposite(..., alpha) 之间是否真的有区别和 Graphics2D.setColor(new Color(..., alpha))在 Java 中使用透明度时?当使用两者的组合时,它们如何相互影响,例如

Graphics2D.setComposite(..., 0.5f)
Graphics2D.setColor(new Color(..., 0.5f))

结果似乎不是0.5的透明度,而是更像是0.25。有没有建议使用前面提到的方法之一?

最佳答案

Graphics2D.setComposite(..., 0.5f)将影响绘制到 Graphics 的所有内容应用后的上下文。这包括基元和图像。
Graphics2D.setColor(new Color(..., 0.5f))只会影响图元的绘画,其他一切都将完全不透明。

如果你在 Graphics 上绘制一种 50% 透明的颜色,你是对的。 50% 透明的上下文将导致颜色看起来是 25% 透明。两者不会相互抵消,而是会复合。

这么想吧。

@100% 不透明度,颜色为 50% 不透明。
@75% 不透明度,颜色减少 25%,使其不透明度为 37.5%
@50% 不透明度,颜色减少 50%,使其不透明 25%
@25% 不透明度,颜色减少 75%,使其不透明 12.5%

关于Java 透明度 : Graphics2D. setComposite(...,alpha) vs. Color(...,alpha),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17180503/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com