Class DisplacementMap
public class DisplacementMap extends Effect
FloatMap. For each pixel in the output, the corresponding data from the mapData is retrieved, scaled and offset by the scale and offset attributes, scaled again by the size of the source input image and used as an offset from the destination pixel to retrieve the pixel data from the source input. dst[x, y] = src[(x, y) + (offset + scale * map[x, y]) * (srcw, srch)]
A value of (0.0, 0.0) would specify no offset for the pixel data whereas a value of (0.5, 0.5) would specify an offset of half of the source image size.
Note that the mapping is the offset from a destination pixel to the source pixel location from which it is sampled which means that filling the map with all values of 0.5 would displace the image by half of its size towards the upper left since each destination pixel would contain the data that comes from the source pixel below and to the right of it.
Also 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 DisplacementMap effect in place.
Example:
int width = 220;
int height = 100;
FloatMap floatMap = new FloatMap();
floatMap.setWidth(width);
floatMap.setHeight(height);
for (int i = 0; i < width; i++) {
double v = (Math.sin(i / 20.0 * Math.PI) - 0.5) / 40.0;
for (int j = 0; j < height; j++) {
floatMap.setSamples(i, j, 0.0f, (float) v);
}
}
DisplacementMap displacementMap = new DisplacementMap();
displacementMap.setMapData(floatMap);
Text text = new Text();
text.setX(40.0);
text.setY(80.0);
text.setText("Wavy Text");
text.setFill(Color.web("0x3b596d"));
text.setFont(Font.font(null, FontWeight.BOLD, 50));
text.setEffect(displacementMap); The code above produces the following:
- Since:
- JavaFX 2.0
Property Summary
| Type | Property | Description |
|---|---|---|
final ObjectProperty<Effect> |
input |
The input for this Effect. |
final ObjectProperty<FloatMap> |
mapData |
The map data for this Effect. |
final DoubleProperty |
offsetX |
The offset by which all x coordinate offset values in the FloatMap are displaced after they are scaled. |
final DoubleProperty |
offsetY |
The offset by which all y coordinate offset values in the FloatMap are displaced after they are scaled. |
final DoubleProperty |
scaleX |
The scale factor by which all x coordinate offset values in the FloatMap are multiplied. |
final DoubleProperty |
scaleY |
The scale factor by which all y coordinate offset values in the FloatMap are multiplied. |
final BooleanProperty |
wrap |
Defines whether values taken from outside the edges of the map "wrap around" or not. |
Constructor Summary
| Constructor | Description |
|---|---|
DisplacementMap() |
Creates a new instance of DisplacementMap with default parameters. |
DisplacementMap |
Creates a new instance of DisplacementMap with the specified mapData. |
DisplacementMap |
Creates a new instance of DisplacementMap with the specified mapData, offsetX, offsetY, scaleX, and scaleY. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
final Effect |
getInput() |
Gets the value of the input property. |
final FloatMap |
getMapData() |
Gets the value of the mapData property. |
final double |
getOffsetX() |
Gets the value of the offsetX property. |
final double |
getOffsetY() |
Gets the value of the offsetY property. |
final double |
getScaleX() |
Gets the value of the scaleX property. |
final double |
getScaleY() |
Gets the value of the scaleY property. |
final ObjectProperty<Effect> |
inputProperty() |
The input for this Effect. |
final boolean |
isWrap() |
Gets the value of the wrap property. |
final ObjectProperty<FloatMap> |
mapDataProperty() |
The map data for this Effect. |
final DoubleProperty |
offsetXProperty() |
The offset by which all x coordinate offset values in the FloatMap are displaced after they are scaled. |
final DoubleProperty |
offsetYProperty() |
The offset by which all y coordinate offset values in the FloatMap are displaced after they are scaled. |
final DoubleProperty |
scaleXProperty() |
The scale factor by which all x coordinate offset values in the FloatMap are multiplied. |
final DoubleProperty |
scaleYProperty() |
The scale factor by which all y coordinate offset values in the FloatMap are multiplied. |
final void |
setInput |
Sets the value of the input property. |
final void |
setMapData |
Sets the value of the mapData property. |
final void |
setOffsetX |
Sets the value of the offsetX property. |
final void |
setOffsetY |
Sets the value of the offsetY property. |
final void |
setScaleX |
Sets the value of the scaleX property. |
final void |
setScaleY |
Sets the value of the scaleY property. |
final void |
setWrap |
Sets the value of the wrap property. |
final BooleanProperty |
wrapProperty() |
Defines whether values taken from outside the edges of the map "wrap around" or not. |
Property Details
input
public final ObjectProperty<Effect> inputProperty
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:
mapData
public final ObjectProperty<FloatMap> mapDataProperty
Effect.- Default value:
- an empty map
- See Also:
scaleX
public final DoubleProperty scaleXProperty
FloatMap are multiplied.
Min: n/a
Max: n/a
Default: 1.0
Identity: 1.0
- Default value:
- 1.0
- See Also:
scaleY
public final DoubleProperty scaleYProperty
FloatMap are multiplied.
Min: n/a
Max: n/a
Default: 1.0
Identity: 1.0
- Default value:
- 1.0
- See Also:
offsetX
public final DoubleProperty offsetXProperty
FloatMap are displaced after they are scaled.
Min: n/a
Max: n/a
Default: 0.0
Identity: 0.0
- Default value:
- 0.0
- See Also:
offsetY
public final DoubleProperty offsetYProperty
FloatMap are displaced after they are scaled.
Min: n/a
Max: n/a
Default: 0.0
Identity: 0.0
- Default value:
- 0.0
- See Also:
wrap
public final BooleanProperty wrapProperty
Min: n/a
Max: n/a
Default: false
Identity: n/a
- Default value:
- false
- See Also:
Constructor Details
DisplacementMap
public DisplacementMap()
DisplacementMap
public DisplacementMap(FloatMap mapData)
- Parameters:
-
mapData- the map data for this displacement map effect - Since:
- JavaFX 2.1
DisplacementMap
public DisplacementMap(FloatMap mapData, double offsetX, double offsetY, double scaleX, double scaleY)
- Parameters:
-
mapData- the map data for this displacement map effect -
offsetX- the offset by which all x coordinate offset values in theFloatMapare displaced after they are scaled -
offsetY- the offset by which all y coordinate offset values in theFloatMapare displaced after they are scaled -
scaleX- the scale factor by which all x coordinate offset values in theFloatMapare multiplied -
scaleY- the scale factor by which all y coordinate offset values in theFloatMapare multiplied - Since:
- JavaFX 2.1
Method Details
setInput
public final void setInput(Effect value)
input property.- Property description:
- The input for this
Effect. If set tonull, or left unspecified, a graphical image of theNodeto which theEffectis attached will be used as the input. - Default value:
- null
- Parameters:
-
value- the value for theinputproperty - See Also:
getInput
public final Effect getInput()
input property.- Property description:
- The input for this
Effect. If set tonull, or left unspecified, a graphical image of theNodeto which theEffectis attached will be used as the input. - Default value:
- null
- Returns:
- the value of the
inputproperty - See Also:
inputProperty
public final ObjectProperty<Effect> inputProperty()
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
inputproperty - See Also:
setMapData
public final void setMapData(FloatMap value)
mapData property.- Property description:
- The map data for this
Effect. - Default value:
- an empty map
- Parameters:
-
value- the value for themapDataproperty - See Also:
getMapData
public final FloatMap getMapData()
mapData property.- Property description:
- The map data for this
Effect. - Default value:
- an empty map
- Returns:
- the value of the
mapDataproperty - See Also:
mapDataProperty
public final ObjectProperty<FloatMap> mapDataProperty()
Effect.- Default value:
- an empty map
- Returns:
- the
mapDataproperty - See Also:
setScaleX
public final void setScaleX(double value)
scaleX property.- Property description:
- The scale factor by which all x coordinate offset values in the
FloatMapare multiplied.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Default value:
- 1.0
- Parameters:
-
value- the value for thescaleXproperty - See Also:
getScaleX
public final double getScaleX()
scaleX property.- Property description:
- The scale factor by which all x coordinate offset values in the
FloatMapare multiplied.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Default value:
- 1.0
- Returns:
- the value of the
scaleXproperty - See Also:
scaleXProperty
public final DoubleProperty scaleXProperty()
FloatMap are multiplied.
Min: n/a
Max: n/a
Default: 1.0
Identity: 1.0
- Default value:
- 1.0
- Returns:
- the
scaleXproperty - See Also:
setScaleY
public final void setScaleY(double value)
scaleY property.- Property description:
- The scale factor by which all y coordinate offset values in the
FloatMapare multiplied.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Default value:
- 1.0
- Parameters:
-
value- the value for thescaleYproperty - See Also:
getScaleY
public final double getScaleY()
scaleY property.- Property description:
- The scale factor by which all y coordinate offset values in the
FloatMapare multiplied.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Default value:
- 1.0
- Returns:
- the value of the
scaleYproperty - See Also:
scaleYProperty
public final DoubleProperty scaleYProperty()
FloatMap are multiplied.
Min: n/a
Max: n/a
Default: 1.0
Identity: 1.0
- Default value:
- 1.0
- Returns:
- the
scaleYproperty - See Also:
setOffsetX
public final void setOffsetX(double value)
offsetX property.- Property description:
- The offset by which all x coordinate offset values in the
FloatMapare displaced after they are scaled.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Default value:
- 0.0
- Parameters:
-
value- the value for theoffsetXproperty - See Also:
getOffsetX
public final double getOffsetX()
offsetX property.- Property description:
- The offset by which all x coordinate offset values in the
FloatMapare displaced after they are scaled.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Default value:
- 0.0
- Returns:
- the value of the
offsetXproperty - See Also:
offsetXProperty
public final DoubleProperty offsetXProperty()
FloatMap are displaced after they are scaled.
Min: n/a
Max: n/a
Default: 0.0
Identity: 0.0
- Default value:
- 0.0
- Returns:
- the
offsetXproperty - See Also:
setOffsetY
public final void setOffsetY(double value)
offsetY property.- Property description:
- The offset by which all y coordinate offset values in the
FloatMapare displaced after they are scaled.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Default value:
- 0.0
- Parameters:
-
value- the value for theoffsetYproperty - See Also:
getOffsetY
public final double getOffsetY()
offsetY property.- Property description:
- The offset by which all y coordinate offset values in the
FloatMapare displaced after they are scaled.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Default value:
- 0.0
- Returns:
- the value of the
offsetYproperty - See Also:
offsetYProperty
public final DoubleProperty offsetYProperty()
FloatMap are displaced after they are scaled.
Min: n/a
Max: n/a
Default: 0.0
Identity: 0.0
- Default value:
- 0.0
- Returns:
- the
offsetYproperty - See Also:
setWrap
public final void setWrap(boolean value)
wrap property.- Property description:
- Defines whether values taken from outside the edges of the map "wrap around" or not.
Min: n/a Max: n/a Default: false Identity: n/a - Default value:
- false
- Parameters:
-
value- the value for thewrapproperty - See Also:
isWrap
public final boolean isWrap()
wrap property.- Property description:
- Defines whether values taken from outside the edges of the map "wrap around" or not.
Min: n/a Max: n/a Default: false Identity: n/a - Default value:
- false
- Returns:
- the value of the
wrapproperty - See Also:
wrapProperty
public final BooleanProperty wrapProperty()
Min: n/a
Max: n/a
Default: false
Identity: n/a
- Default value:
- false
- Returns:
- the
wrapproperty - See Also:
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.