Class PerspectiveTransform

java.lang.Object
javafx.scene.effect.Effect
javafx.scene.effect.PerspectiveTransform

public class PerspectiveTransform
extends Effect
An effect that provides non-affine transformation of the input content. Most typically PerspectiveTransform is used to provide a "faux" three-dimensional effect for otherwise two-dimensional content.

A perspective transformation is capable of mapping an arbitrary quadrilateral into another arbitrary quadrilateral, while preserving the straightness of lines. Unlike an affine transformation, the parallelism of lines in the source is not necessarily preserved in the output.

Note that this effect does not adjust the coordinates of input events or any methods that measure containment on a Node. The results of mouse picking and the containment methods are undefined when a Node has a PerspectiveTransform effect in place.

Example:


 PerspectiveTransform perspectiveTrasform = new PerspectiveTransform();
 perspectiveTrasform.setUlx(10.0);
 perspectiveTrasform.setUly(10.0);
 perspectiveTrasform.setUrx(310.0);
 perspectiveTrasform.setUry(40.0);
 perspectiveTrasform.setLrx(310.0);
 perspectiveTrasform.setLry(60.0);
 perspectiveTrasform.setLlx(10.0);
 perspectiveTrasform.setLly(90.0);

 Group g = new Group();
 g.setEffect(perspectiveTrasform);
 g.setCache(true);

 Rectangle rect = new Rectangle();
 rect.setX(10.0);
 rect.setY(10.0);
 rect.setWidth(280.0);
 rect.setHeight(80.0);
 rect.setFill(Color.web("0x3b596d"));

 Text text = new Text();
 text.setX(20.0);
 text.setY(65.0);
 text.setText("Perspective");
 text.setFill(Color.ALICEBLUE);
 text.setFont(Font.font(null, FontWeight.BOLD, 36));

 g.getChildren().addAll(rect, text);
 

The code above produces the following:

The visual effect of
 PerspectiveTransform on text

Since:
JavaFX 2.0
  • Property Summary

    Properties 
    Type Property Description
    ObjectProperty<Effect> input
    The input for this Effect.
    DoubleProperty llx
    The x coordinate of the output location onto which the lower left corner of the source is mapped.
    DoubleProperty lly
    The y coordinate of the output location onto which the lower left corner of the source is mapped.
    DoubleProperty lrx
    The x coordinate of the output location onto which the lower right corner of the source is mapped.
    DoubleProperty lry
    The y coordinate of the output location onto which the lower right corner of the source is mapped.
    DoubleProperty ulx
    The x coordinate of the output location onto which the upper left corner of the source is mapped.
    DoubleProperty uly
    The y coordinate of the output location onto which the upper left corner of the source is mapped.
    DoubleProperty urx
    The x coordinate of the output location onto which the upper right corner of the source is mapped.
    DoubleProperty ury
    The y coordinate of the output location onto which the upper right corner of the source is mapped.
  • Constructor Summary

    Constructors 
    Constructor Description
    PerspectiveTransform()
    Creates a new instance of PerspectiveTransform with default parameters.
    PerspectiveTransform​(double ulx, double uly, double urx, double ury, double lrx, double lry, double llx, double lly)
    Creates a new instance of PerspectiveTransform with the specified ulx, uly, urx, ury, lrx, lry, llx, and lly.
  • Method Summary

    Modifier and Type Method Description
    Effect getInput()
    Gets the value of the property input.
    double getLlx()
    Gets the value of the property llx.
    double getLly()
    Gets the value of the property lly.
    double getLrx()
    Gets the value of the property lrx.
    double getLry()
    Gets the value of the property lry.
    double getUlx()
    Gets the value of the property ulx.
    double getUly()
    Gets the value of the property uly.
    double getUrx()
    Gets the value of the property urx.
    double getUry()
    Gets the value of the property ury.
    ObjectProperty<Effect> inputProperty()
    The input for this Effect.
    DoubleProperty llxProperty()
    The x coordinate of the output location onto which the lower left corner of the source is mapped.
    DoubleProperty llyProperty()
    The y coordinate of the output location onto which the lower left corner of the source is mapped.
    DoubleProperty lrxProperty()
    The x coordinate of the output location onto which the lower right corner of the source is mapped.
    DoubleProperty lryProperty()
    The y coordinate of the output location onto which the lower right corner of the source is mapped.
    void setInput​(Effect value)
    Sets the value of the property input.
    void setLlx​(double value)
    Sets the value of the property llx.
    void setLly​(double value)
    Sets the value of the property lly.
    void setLrx​(double value)
    Sets the value of the property lrx.
    void setLry​(double value)
    Sets the value of the property lry.
    void setUlx​(double value)
    Sets the value of the property ulx.
    void setUly​(double value)
    Sets the value of the property uly.
    void setUrx​(double value)
    Sets the value of the property urx.
    void setUry​(double value)
    Sets the value of the property ury.
    DoubleProperty ulxProperty()
    The x coordinate of the output location onto which the upper left corner of the source is mapped.
    DoubleProperty ulyProperty()
    The y coordinate of the output location onto which the upper left corner of the source is mapped.
    DoubleProperty urxProperty()
    The x coordinate of the output location onto which the upper right corner of the source is mapped.
    DoubleProperty uryProperty()
    The y coordinate of the output location onto which the upper right corner of the source is mapped.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Property Details

    • input

      public final ObjectProperty<Effect> inputProperty
      The input for this Effect. If set to null, or left unspecified, a graphical image of the Node to which the Effect is attached will be used as the input.
      Default value:
      null
      See Also:
      getInput(), setInput(Effect)
    • ulx

      public final DoubleProperty ulxProperty
      The x coordinate of the output location onto which the upper left corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getUlx(), setUlx(double)
    • uly

      public final DoubleProperty ulyProperty
      The y coordinate of the output location onto which the upper left corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getUly(), setUly(double)
    • urx

      public final DoubleProperty urxProperty
      The x coordinate of the output location onto which the upper right corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getUrx(), setUrx(double)
    • ury

      public final DoubleProperty uryProperty
      The y coordinate of the output location onto which the upper right corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getUry(), setUry(double)
    • lrx

      public final DoubleProperty lrxProperty
      The x coordinate of the output location onto which the lower right corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getLrx(), setLrx(double)
    • lry

      public final DoubleProperty lryProperty
      The y coordinate of the output location onto which the lower right corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getLry(), setLry(double)
    • llx

      public final DoubleProperty llxProperty
      The x coordinate of the output location onto which the lower left corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getLlx(), setLlx(double)
    • lly

      public final DoubleProperty llyProperty
      The y coordinate of the output location onto which the lower left corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getLly(), setLly(double)
  • Constructor Details

    • PerspectiveTransform

      public PerspectiveTransform()
      Creates a new instance of PerspectiveTransform with default parameters.
    • PerspectiveTransform

      public PerspectiveTransform​(double ulx, double uly, double urx, double ury, double lrx, double lry, double llx, double lly)
      Creates a new instance of PerspectiveTransform with the specified ulx, uly, urx, ury, lrx, lry, llx, and lly.
      Parameters:
      ulx - the x coordinate of upper left corner
      uly - the y coordinate of upper left corner
      urx - the x coordinate of upper right corner
      ury - the y coordinate of upper right corner
      lrx - the x coordinate of lower right corner
      lry - the y coordinate of lower right corner
      llx - the x coordinate of lower left corner
      lly - the y coordinate of lower left corner
      Since:
      JavaFX 2.1
  • Method Details

    • setInput

      public final void setInput​(Effect value)
      Sets the value of the property input.
      Property description:
      The input for this Effect. If set to null, or left unspecified, a graphical image of the Node to which the Effect is attached will be used as the input.
      Default value:
      null
    • getInput

      public final Effect getInput()
      Gets the value of the property input.
      Property description:
      The input for this Effect. If set to null, or left unspecified, a graphical image of the Node to which the Effect is attached will be used as the input.
      Default value:
      null
    • inputProperty

      public final ObjectProperty<Effect> inputProperty()
      The input for this Effect. If set to null, or left unspecified, a graphical image of the Node to which the Effect is attached will be used as the input.
      Default value:
      null
      See Also:
      getInput(), setInput(Effect)
    • setUlx

      public final void setUlx​(double value)
      Sets the value of the property ulx.
      Property description:
      The x coordinate of the output location onto which the upper left corner of the source is mapped.
      Default value:
      0.0
    • getUlx

      public final double getUlx()
      Gets the value of the property ulx.
      Property description:
      The x coordinate of the output location onto which the upper left corner of the source is mapped.
      Default value:
      0.0
    • ulxProperty

      public final DoubleProperty ulxProperty()
      The x coordinate of the output location onto which the upper left corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getUlx(), setUlx(double)
    • setUly

      public final void setUly​(double value)
      Sets the value of the property uly.
      Property description:
      The y coordinate of the output location onto which the upper left corner of the source is mapped.
      Default value:
      0.0
    • getUly

      public final double getUly()
      Gets the value of the property uly.
      Property description:
      The y coordinate of the output location onto which the upper left corner of the source is mapped.
      Default value:
      0.0
    • ulyProperty

      public final DoubleProperty ulyProperty()
      The y coordinate of the output location onto which the upper left corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getUly(), setUly(double)
    • setUrx

      public final void setUrx​(double value)
      Sets the value of the property urx.
      Property description:
      The x coordinate of the output location onto which the upper right corner of the source is mapped.
      Default value:
      0.0
    • getUrx

      public final double getUrx()
      Gets the value of the property urx.
      Property description:
      The x coordinate of the output location onto which the upper right corner of the source is mapped.
      Default value:
      0.0
    • urxProperty

      public final DoubleProperty urxProperty()
      The x coordinate of the output location onto which the upper right corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getUrx(), setUrx(double)
    • setUry

      public final void setUry​(double value)
      Sets the value of the property ury.
      Property description:
      The y coordinate of the output location onto which the upper right corner of the source is mapped.
      Default value:
      0.0
    • getUry

      public final double getUry()
      Gets the value of the property ury.
      Property description:
      The y coordinate of the output location onto which the upper right corner of the source is mapped.
      Default value:
      0.0
    • uryProperty

      public final DoubleProperty uryProperty()
      The y coordinate of the output location onto which the upper right corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getUry(), setUry(double)
    • setLrx

      public final void setLrx​(double value)
      Sets the value of the property lrx.
      Property description:
      The x coordinate of the output location onto which the lower right corner of the source is mapped.
      Default value:
      0.0
    • getLrx

      public final double getLrx()
      Gets the value of the property lrx.
      Property description:
      The x coordinate of the output location onto which the lower right corner of the source is mapped.
      Default value:
      0.0
    • lrxProperty

      public final DoubleProperty lrxProperty()
      The x coordinate of the output location onto which the lower right corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getLrx(), setLrx(double)
    • setLry

      public final void setLry​(double value)
      Sets the value of the property lry.
      Property description:
      The y coordinate of the output location onto which the lower right corner of the source is mapped.
      Default value:
      0.0
    • getLry

      public final double getLry()
      Gets the value of the property lry.
      Property description:
      The y coordinate of the output location onto which the lower right corner of the source is mapped.
      Default value:
      0.0
    • lryProperty

      public final DoubleProperty lryProperty()
      The y coordinate of the output location onto which the lower right corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getLry(), setLry(double)
    • setLlx

      public final void setLlx​(double value)
      Sets the value of the property llx.
      Property description:
      The x coordinate of the output location onto which the lower left corner of the source is mapped.
      Default value:
      0.0
    • getLlx

      public final double getLlx()
      Gets the value of the property llx.
      Property description:
      The x coordinate of the output location onto which the lower left corner of the source is mapped.
      Default value:
      0.0
    • llxProperty

      public final DoubleProperty llxProperty()
      The x coordinate of the output location onto which the lower left corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getLlx(), setLlx(double)
    • setLly

      public final void setLly​(double value)
      Sets the value of the property lly.
      Property description:
      The y coordinate of the output location onto which the lower left corner of the source is mapped.
      Default value:
      0.0
    • getLly

      public final double getLly()
      Gets the value of the property lly.
      Property description:
      The y coordinate of the output location onto which the lower left corner of the source is mapped.
      Default value:
      0.0
    • llyProperty

      public final DoubleProperty llyProperty()
      The y coordinate of the output location onto which the lower left corner of the source is mapped.
      Default value:
      0.0
      See Also:
      getLly(), setLly(double)