JavaFX 混合效果

2024 年 8 月 29 日 | 阅读 3 分钟

通常,混合效果产生的结果是混合两个或多个不同输入节点的结果。它获取两个或多个节点的像素,根据应用的混合模式混合它们,并在相同位置产生输出节点。

如果两个图像相互重叠,则混合模式应用于两个图像的重叠区域。

性质

该类包含四个属性,这些属性及其 setter 方法在下表中描述。

属性描述设置器方法
bottomInput混合操作的底部输入。 这是一个对象类型属性。setBottomInput(Effect value)
mode输入混合在一起的模式。setMode(BlendMode value)
opacity这是双精度类型的 opacity 值。setOpacity(double value)
topInput混合操作的顶部输入。setTopInput(Effect Value)

构造函数

此类中有三个构造函数。

  1. Blend() : 使用默认值实例化 Blend 类。
  2. Blend(BlendMode mode): 使用指定的模式实例化 Blend 类
  3. Blend(BlendMode mode, Effect BottomInput, Effect TopInput): 使用指定的混合模式、底部输入效果和顶部输入效果实例化 Blend 类

示例


JavaFX Blend Effect

混合模式

JavaFX 提供了各种混合模式,可以应用这些模式来修改混合效果。

混合模式描述输出
添加顶部输入的颜色分量被添加到底部输入的颜色分量中。JavaFX Blend Mode Add Output
蓝色只有底部输入的蓝色分量被顶部输入的蓝色分量替换。JavaFX Blend Mode Blue Output
COLOR_BURN底部输入颜色被反转,并除以顶部输入颜色分量。 然后再次反转结果以获得输出颜色。JavaFX Blend Mode COLORBURN Output
COLOR_DODGE顶部颜色分量被反转,并将底部颜色分量除以产生输出颜色。JavaFX Blend Mode COLOR DODGE Output
DARKEN选择两种输入分量颜色中较暗的颜色以产生结果颜色。JavaFX Blend Mode DARKEN Output
差集从较浅的颜色中减去两种输入颜色中较暗的颜色以产生结果颜色。JavaFX Blend Mode DIFFERENCE Output
EXCLUSION两个输入颜色分量相乘并加倍,然后从底部颜色分量之和中减去以产生所需的颜色。JavaFX Blend Mode EXCLUSION Output
GREEN底部输入的绿色分量被顶部输入的绿色输入替换。JavaFX Blend Mode GREEN Output
HARD_LIGHT输入颜色分量根据底部颜色进行相乘或滤色。JavaFX Blend Mode HARD LIGHT Output
LIGHTEN两种颜色分量中较浅的颜色作为输出产生。JavaFX Blend Mode LIGHTEN Output
MULTIPLY两个颜色分量相乘产生输出颜色。JavaFX Blend Mode MULTIPLY Output
OVERLAY输入颜色分量根据底部颜色进行滤色或相乘。JavaFX Blend Mode OVERLAY Output
RED底部输入的红色分量被顶部输入的红色分量替换。JavaFX Blend Mode RED Output
SCREEN两个颜色分量被反转、相乘并再次反转以产生所需的结果。JavaFX Blend Mode SCREEN Output
SOFT_LIGHT输入颜色分量变亮或变暗。JavaFX Blend Mode SOFT LIGHT Output
SRC_ATOP顶部输入中位于底部输入之上的部分被混合。JavaFX Blend Mode SRC ATOP Output
SRC_OVER顶部输入混合在底部输入之上。JavaFX Blend Mode SRC OVER Output