Module javafx.graphics
Package javafx.scene.effect

# 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:

Since:
  JavaFX 2.0

- ## Property Summary

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

  ### Methods declared in 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)`