JavaFX effect Blend(混合效果)
本文于2051天之前发表,文中内容可能已经过时。
通常,混合物是指两种或更多种不同物质或物质的混合物。如果我们应用混合效果,它将采用两个不同输入的像素。这将在同一位置完成,并根据混合模式生成组合输出。
例如,如果我们绘制两个对象,则顶部对象覆盖底部对象。在应用混合效果时,基于输入模式组合并显示重叠区域中的两个对象的像素。
包javafx.scene.effect的名为Blend的类表示混合效果,该类包含四个属性,它们是 -
- bottomInput - 此属性的类型为Effect,它表示混合效果的底部输入。
- topInput - 此属性的类型为Effect,它表示混合效果的顶部输入。
- opacity - 此属性为double类型,它表示使用顶部输入调制的不透明度值。
- mode - 此属性属于BlendMode类型,它表示用于将两个输入混合在一起的模式。
例
以下是展示混合效果的示例。在这里,我们绘制一个充满BROWN颜色的圆圈,它上面是一个BLUEVIOLET ColorInput。
我们已经应用了混合效果选择乘法模式在重叠区域中,两个对象的颜色相乘并显示。
将此代码保存在名为BlendEffectExample.java的文件中。
1 | import javafx.application.Application; |
使用以下命令从命令提示符编译并执行保存的java文件。
1 | javac BlendEffectExample.java |
执行时,上面的程序生成一个JavaFX窗口,如下所示。
混合模式
| 序号 | 模式和说明 | 产量 |
| — :| :———————————————————- | :———————————————————- |
| 1 | 加在此模式下,添加并显示顶部和底部输入的颜色值。 | |
| 2 | 乘在此模式下,顶部和底部输入的颜色值相乘并显示。 | |
| 3 | 区别在该模式中,在顶部和底部输入的颜色值中,从较亮的一个中减去较暗的一个并显示。 | |
| 4 | 红色在此模式下,底部输入的红色分量被顶部输入的红色分量替换。 | |
| 5 | 蓝色在此模式下,底部输入的蓝色分量被顶部输入的蓝色分量替换。 | |
| 6 | 绿色在此模式下,底部输入的绿色组件被顶部输入的绿色组件替换。 | |
| 7 | 排除在此模式下,两个输入的颜色分量相乘并加倍。然后从底部输入的颜色分量之和中减去它们。然后显示结果。 | |
| 8 | COLOR_BURN在此模式中,底部输入颜色分量的倒数除以顶部输入颜色分量。因此,反转并显示所获得的值。 | |
| 9 | COLOR_DODGE在该模式中,底部输入颜色分量除以顶部输入颜色分量的倒数,因此反转并显示所获得的值。 | |
| 10 | 减轻在此模式下,显示两个输入中较浅的颜色分量。 | |
| 11 | 变暗在此模式下,显示顶部和底部输入中较暗的颜色分量。 | |
| 12 | 屏幕在该模式中,顶部和底部输入的颜色分量被反转,相乘,因此获得的值被反转并显示。 | |
| 13 | 覆盖在此模式下,基于底部输入颜色,将两个输入值的颜色分量相乘或筛选,并显示结果。 | |
| 14 | HARD_LIGHT在此模式下,基于顶部输入颜色,将两个输入值的颜色分量相乘或筛选,并显示结果。 | |
| 15 | SOFT_LIGH在此模式下,基于顶部输入颜色,两个输入值的颜色分量被软化或变亮,并显示结果。 | |
| 16 | SRC_ATOP在此模式下,重叠区域填充底部输入的颜色分量。虽然非重叠区域填充了顶部输入的颜色分量。 | |
| 17 | SRC_OVER在此模式下,顶部输入绘制在底部输入上。 | |