- java.lang.Object
-
- java.lang.Enum<BlendMode>
-
- javafx.scene.effect.BlendMode
-
- All Implemented Interfaces:
-
Serializable
,Comparable<BlendMode>
public enum BlendMode extends Enum<BlendMode>
混合模式定义混合效果的输入合成在一起的方式,或者如何将节点混合到场景的背景中。import javafx.scene.*; import javafx.scene.effect.*; import javafx.scene.paint.*; import javafx.scene.shape.*; Rectangle r = new Rectangle(); r.setX(50); r.setY(50); r.setWidth(50); r.setHeight(50); r.setFill(Color.BLUE); Circle c = new Circle(); c.setFill(Color.rgb(255, 0, 0, 0.5)); c.setCenterX(50); c.setCenterY(50); c.setRadius(25); c.setBlendMode(BlendMode.MULTIPLY); Group g = new Group(); g.getChildren().add(r); g.getChildren().add(c);
- 从以下版本开始:
- JavaFX 2.0
-
-
Enum Constant Summary
Enum Constants Enum Constant 描述 ADD
来自顶部输入的颜色和alpha分量被添加到从底部输入的颜色和alpha分量。BLUE
底部输入的蓝色分量被顶部输入的蓝色分量替换; 其他颜色成分不受影响。COLOR_BURN
底部输入颜色分量的倒数除以顶部输入颜色分量,然后将其全部反转以产生所得颜色。COLOR_DODGE
底部输入颜色分量被顶部输入颜色分量的倒数除以产生所得到的颜色。DARKEN
选择来自两个输入的颜色分量较暗以产生所得颜色。DIFFERENCE
从较浅的输入中减去两个输入的颜色分量较暗,以产生最终的颜色。EXCLUSION
将两个输入的颜色分量相乘并加倍,然后从底部输入颜色分量的和中减去,以产生所得到的颜色。GREEN
底部输入的绿色分量被顶部输入的绿色分量替换; 其他颜色成分不受影响。HARD_LIGHT
根据顶部输入颜色,输入颜色分量是相乘或屏蔽的。LIGHTEN
来自两个输入的颜色分量的打火机被选择以产生所得到的颜色。MULTIPLY
来自第一输入的颜色分量与来自第二输入的颜色分量相乘。OVERLAY
根据底部输入颜色,输入颜色分量是相乘或屏蔽的。RED
底部输入的红色分量被顶部输入的红色分量代替; 其他颜色成分不受影响。SCREEN
来自两个输入的颜色分量被反转,彼此相乘,并且该结果再次被反转以产生所得到的颜色。SOFT_LIGHT
根据顶部输入颜色,输入颜色分量要么变暗,要么变暗。SRC_ATOP
位于底部输入内部的顶部输入的部分与底部输入混合。SRC_OVER
顶部输入通过底部输入混合。
-
-
-
Enum Constant Detail
-
SRC_OVER
public static final BlendMode SRC_OVER
顶部输入通过底部输入混合。 (相当于波特 - 达夫“目的地来源”规则。)
-
SRC_ATOP
public static final BlendMode SRC_ATOP
位于底部输入内部的顶部输入的部分与底部输入混合。 (相当于Porter-Duff“源头目的地”规则。)
-
ADD
public static final BlendMode ADD
来自顶部输入的颜色和alpha分量被添加到从底部输入的颜色和alpha分量。 如果超过1.0的逻辑最大值,结果将被钳位为1.0。笔记:
- 这种模式是可交换的(输入顺序无关紧要)。
- 这种模式在成像软件包中有时被称为“线性闪避”。
-
MULTIPLY
public static final BlendMode MULTIPLY
-
SCREEN
public static final BlendMode SCREEN
-
OVERLAY
public static final BlendMode OVERLAY
根据底部输入颜色,输入颜色分量是相乘或屏蔽的。 根据SRC_OVER
方程将α分量混合。笔记:
- 此模式是
SCREEN
和MULTIPLY
的组合,具体取决于底部的输入颜色。 - 这种模式与
HARD_LIGHT
模式的数学相反。 - 在这种模式下,顶部输入颜色“覆盖”底部输入,同时保留后者的高光和阴影。
- 此模式是
-
DARKEN
public static final BlendMode DARKEN
-
LIGHTEN
public static final BlendMode LIGHTEN
-
COLOR_DODGE
public static final BlendMode COLOR_DODGE
底部输入颜色分量被顶部输入颜色分量的倒数除以产生所得到的颜色。 根据SRC_OVER
方程将α组分混合。
-
COLOR_BURN
public static final BlendMode COLOR_BURN
底部输入颜色分量的倒数除以顶部输入颜色分量,然后将其全部反转以产生所得颜色。 根据SRC_OVER
方程将α成分混合。
-
HARD_LIGHT
public static final BlendMode HARD_LIGHT
-
SOFT_LIGHT
public static final BlendMode SOFT_LIGHT
-
DIFFERENCE
public static final BlendMode DIFFERENCE
从较浅的输入中减去两个输入的颜色分量较暗,以产生最终的颜色。 根据SRC_OVER
等式混合α成分。笔记:
- 这种模式是可交换的(输入顺序无关紧要)。
- 该模式可用于反转底部输入图像的部分,或者快速比较两个图像(相等的像素将导致黑色)。
- 用完全白色的顶部输入渲染反转底部输入; 用完全黑色的顶部输入渲染产生相当于底部输入的结果。
-
EXCLUSION
public static final BlendMode EXCLUSION
将两个输入的颜色分量相乘并加倍,然后从底部输入颜色分量的和中减去,以产生所得到的颜色。 根据SRC_OVER
等式混合α成分。笔记:
- 这种模式是可交换的(输入顺序无关紧要)。
- 此模式可用于反转底部输入的部分。
- 该模式产生的结果类似于
DIFFERENCE
,除了对比度较低。 - 用完全白色的顶部输入渲染反转底部输入; 用完全黑色的顶部输入渲染产生相当于底部输入的结果。
-
RED
public static final BlendMode RED
-
GREEN
public static final BlendMode GREEN
-
BLUE
public static final BlendMode BLUE
-
-
方法详细信息
-
values
public static BlendMode[] values()
按照它们声明的顺序返回一个包含此枚举类型常量的数组。 该方法可用于遍历常量如下:for (BlendMode c : BlendMode.values()) System.out.println(c);
- 结果
- 一个包含这个枚举类型的常量的数组,按照它们被声明的顺序
-
valueOf
public static BlendMode valueOf(String name)
以指定的名称返回此类型的枚举常量。 字符串必须完全匹配用于声明此类型的枚举常量的标识符。 (不允许使用外来空白字符。)- 参数
-
name
- 要返回的枚举常量的名称。 - 结果
- 具有指定名称的枚举常数
- 异常
-
IllegalArgumentException
- 如果此枚举类型没有指定名称的常量 -
NullPointerException
- 如果参数为空
-
-