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
    --- | --- | ---
    `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 Detail

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

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

    - #### 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)`