/* * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package javafx.scene.effect; /** * A blending mode defines the manner in which the inputs of a Blend * effect are composited together or how a Node is blended into the * background of a scene. *
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);
* @since JavaFX 2.0 */ public enum BlendMode { /** * The top input is blended over the bottom input. * (Equivalent to the Porter-Duff "source over destination" rule.) */ SRC_OVER, /** * The part of the top input lying inside of the bottom input * is blended with the bottom input. * (Equivalent to the Porter-Duff "source atop destination" rule.) */ SRC_ATOP, /** * The color and alpha components from the top input are * added to those from the bottom input. * The result is clamped to 1.0 if it exceeds the logical * maximum of 1.0. *

* Notes: *

*/ ADD, /** * The color components from the first input are multiplied with those * from the second input. * The alpha components are blended according to * the {@link #SRC_OVER} equation. *

* Notes: *

*/ MULTIPLY, /** * The color components from both of the inputs are * inverted, multiplied with each other, and that result * is again inverted to produce the resulting color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. *

* Notes: *

*/ SCREEN, /** * The input color components are either multiplied or screened, * depending on the bottom input color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. *

* Notes: *

*/ OVERLAY, /** * The darker of the color components from the two inputs are * selected to produce the resulting color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. *

* Notes: *

*/ DARKEN, /** * The lighter of the color components from the two inputs are * selected to produce the resulting color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. *

* Notes: *

*/ LIGHTEN, /** * The bottom input color components are divided by the inverse * of the top input color components to produce the resulting color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. */ COLOR_DODGE, /** * The inverse of the bottom input color components are divided by * the top input color components, all of which is then inverted * to produce the resulting color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. */ COLOR_BURN, /** * The input color components are either multiplied or screened, * depending on the top input color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. *

* Notes: *

*/ HARD_LIGHT, /** * The input color components are either darkened or lightened, * depending on the top input color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. *

* Notes: *

*/ SOFT_LIGHT, /** * The darker of the color components from the two inputs are * subtracted from the lighter ones to produce the resulting color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. *

* Notes: *

*/ DIFFERENCE, /** * The color components from the two inputs are multiplied and * doubled, and then subtracted from the sum of the bottom input * color components, to produce the resulting color. * The alpha components are blended according * to the {@link #SRC_OVER} equation. *

* Notes: *

*/ EXCLUSION, /** * The red component of the bottom input is replaced with the * red component of the top input; the other color components * are unaffected. * The alpha components are blended according * to the {@link #SRC_OVER} equation. */ RED, /** * The green component of the bottom input is replaced with the * green component of the top input; the other color components * are unaffected. * The alpha components are blended according * to the {@link #SRC_OVER} equation. */ GREEN, /** * The blue component of the bottom input is replaced with the * blue component of the top input; the other color components * are unaffected. * The alpha components are blended according * to the {@link #SRC_OVER} equation. */ BLUE }