作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道 Graphics2D.setComposite(..., alpha)
之间是否真的有区别和 Graphics2D.setColor(new Color(..., alpha))
在 Java 中使用透明度时?当使用两者的组合时,它们如何相互影响,例如
Graphics2D.setComposite(..., 0.5f)
Graphics2D.setColor(new Color(..., 0.5f))
最佳答案
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/
我想知道 Graphics2D.setComposite(..., alpha) 之间是否真的有区别和 Graphics2D.setColor(new Color(..., alpha))在 Java
我是一名优秀的程序员,十分优秀!