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 `input` property.
`final double`
`getLlx()`
Gets the value of the `llx` property.
`final double`
`getLly()`
Gets the value of the `lly` property.
`final double`
`getLrx()`
Gets the value of the `lrx` property.
`final double`
`getLry()`
Gets the value of the `lry` property.
`final double`
`getUlx()`
Gets the value of the `ulx` property.
`final double`
`getUly()`
Gets the value of the `uly` property.
`final double`
`getUrx()`
Gets the value of the `urx` property.
`final double`
`getUry()`
Gets the value of the `ury` property.
`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 `input` property.
`final void`
`setLlx(double value)`
Sets the value of the `llx` property.
`final void`
`setLly(double value)`
Sets the value of the `lly` property.
`final void`
`setLrx(double value)`
Sets the value of the `lrx` property.
`final void`
`setLry(double value)`
Sets the value of the `lry` property.
`final void`
`setUlx(double value)`
Sets the value of the `ulx` property.
`final void`
`setUly(double value)`
Sets the value of the `uly` property.
`final void`
`setUrx(double value)`
Sets the value of the `urx` property.
`final void`
`setUry(double value)`
Sets the value of the `ury` property.
`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 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)`
  - `inputProperty()`

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

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

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

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

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

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

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

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

## 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 `input` property.

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
Parameters:
  `value` - the value for the `input` property
See Also:
  - `getInput()`
  - `inputProperty()`

### getInput

public final Effect getInput()
Gets the value of the `input` property.

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
Returns:
  the value of the `input` property
See Also:
  - `setInput(Effect)`
  - `inputProperty()`

### 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
Returns:
  the `input` property
See Also:
  - `getInput()`
  - `setInput(Effect)`

### setUlx

public final void setUlx(double value)
Sets the value of the `ulx` property.

Property description:
  The x coordinate of the output location onto which the upper left corner of the source is mapped.
Default value:
  0.0
Parameters:
  `value` - the value for the `ulx` property
See Also:
  - `getUlx()`
  - `ulxProperty()`

### getUlx

public final double getUlx()
Gets the value of the `ulx` property.

Property description:
  The x coordinate of the output location onto which the upper left corner of the source is mapped.
Default value:
  0.0
Returns:
  the value of the `ulx` property
See Also:
  - `setUlx(double)`
  - `ulxProperty()`

### 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
Returns:
  the `ulx` property
See Also:
  - `getUlx()`
  - `setUlx(double)`

### setUly

public final void setUly(double value)
Sets the value of the `uly` property.

Property description:
  The y coordinate of the output location onto which the upper left corner of the source is mapped.
Default value:
  0.0
Parameters:
  `value` - the value for the `uly` property
See Also:
  - `getUly()`
  - `ulyProperty()`

### getUly

public final double getUly()
Gets the value of the `uly` property.

Property description:
  The y coordinate of the output location onto which the upper left corner of the source is mapped.
Default value:
  0.0
Returns:
  the value of the `uly` property
See Also:
  - `setUly(double)`
  - `ulyProperty()`

### 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
Returns:
  the `uly` property
See Also:
  - `getUly()`
  - `setUly(double)`

### setUrx

public final void setUrx(double value)
Sets the value of the `urx` property.

Property description:
  The x coordinate of the output location onto which the upper right corner of the source is mapped.
Default value:
  0.0
Parameters:
  `value` - the value for the `urx` property
See Also:
  - `getUrx()`
  - `urxProperty()`

### getUrx

public final double getUrx()
Gets the value of the `urx` property.

Property description:
  The x coordinate of the output location onto which the upper right corner of the source is mapped.
Default value:
  0.0
Returns:
  the value of the `urx` property
See Also:
  - `setUrx(double)`
  - `urxProperty()`

### 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
Returns:
  the `urx` property
See Also:
  - `getUrx()`
  - `setUrx(double)`

### setUry

public final void setUry(double value)
Sets the value of the `ury` property.

Property description:
  The y coordinate of the output location onto which the upper right corner of the source is mapped.
Default value:
  0.0
Parameters:
  `value` - the value for the `ury` property
See Also:
  - `getUry()`
  - `uryProperty()`

### getUry

public final double getUry()
Gets the value of the `ury` property.

Property description:
  The y coordinate of the output location onto which the upper right corner of the source is mapped.
Default value:
  0.0
Returns:
  the value of the `ury` property
See Also:
  - `setUry(double)`
  - `uryProperty()`

### 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
Returns:
  the `ury` property
See Also:
  - `getUry()`
  - `setUry(double)`

### setLrx

public final void setLrx(double value)
Sets the value of the `lrx` property.

Property description:
  The x coordinate of the output location onto which the lower right corner of the source is mapped.
Default value:
  0.0
Parameters:
  `value` - the value for the `lrx` property
See Also:
  - `getLrx()`
  - `lrxProperty()`

### getLrx

public final double getLrx()
Gets the value of the `lrx` property.

Property description:
  The x coordinate of the output location onto which the lower right corner of the source is mapped.
Default value:
  0.0
Returns:
  the value of the `lrx` property
See Also:
  - `setLrx(double)`
  - `lrxProperty()`

### 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
Returns:
  the `lrx` property
See Also:
  - `getLrx()`
  - `setLrx(double)`

### setLry

public final void setLry(double value)
Sets the value of the `lry` property.

Property description:
  The y coordinate of the output location onto which the lower right corner of the source is mapped.
Default value:
  0.0
Parameters:
  `value` - the value for the `lry` property
See Also:
  - `getLry()`
  - `lryProperty()`

### getLry

public final double getLry()
Gets the value of the `lry` property.

Property description:
  The y coordinate of the output location onto which the lower right corner of the source is mapped.
Default value:
  0.0
Returns:
  the value of the `lry` property
See Also:
  - `setLry(double)`
  - `lryProperty()`

### 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
Returns:
  the `lry` property
See Also:
  - `getLry()`
  - `setLry(double)`

### setLlx

public final void setLlx(double value)
Sets the value of the `llx` property.

Property description:
  The x coordinate of the output location onto which the lower left corner of the source is mapped.
Default value:
  0.0
Parameters:
  `value` - the value for the `llx` property
See Also:
  - `getLlx()`
  - `llxProperty()`

### getLlx

public final double getLlx()
Gets the value of the `llx` property.

Property description:
  The x coordinate of the output location onto which the lower left corner of the source is mapped.
Default value:
  0.0
Returns:
  the value of the `llx` property
See Also:
  - `setLlx(double)`
  - `llxProperty()`

### 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
Returns:
  the `llx` property
See Also:
  - `getLlx()`
  - `setLlx(double)`

### setLly

public final void setLly(double value)
Sets the value of the `lly` property.

Property description:
  The y coordinate of the output location onto which the lower left corner of the source is mapped.
Default value:
  0.0
Parameters:
  `value` - the value for the `lly` property
See Also:
  - `getLly()`
  - `llyProperty()`

### getLly

public final double getLly()
Gets the value of the `lly` property.

Property description:
  The y coordinate of the output location onto which the lower left corner of the source is mapped.
Default value:
  0.0
Returns:
  the value of the `lly` property
See Also:
  - `setLly(double)`
  - `llyProperty()`

### 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
Returns:
  the `lly` property
See Also:
  - `getLly()`
  - `setLly(double)`