Класс DisplacementMap
public class DisplacementMap extends Effect
FloatMap. Для каждого пикселя на выходе извлекаются соответствующие данные из mapData, масштабируются и смещаются на величину, заданную атрибутами scale и offset, масштабируются ещё раз с учётом размера входного изображения источника и используются в качестве смещения от целевого пикселя для извлечения данных пикселя из входного изображения источника. dst[x, y] = src[(x, y) + (offset + scale * map[x, y]) * (srcw, srch)]
Значение (0.0, 0.0) указывает на отсутствие смещения данных пикселя, а значение (0.5, 0.5) указывает на смещение, равное половине размера изображения источника.
Обратите внимание, что отображение представляет собой смещение от целевого пикселя до расположения источникового пикселя, с которого он сэмплируется. Это означает, что заполнение карты значениями 0.5 сместит изображение наполовину влево вверх, поскольку каждый целевой пиксель будет содержать данные, которые берутся из источникового пикселя ниже и правее его.
Также обратите внимание, что этот эффект не корректирует координаты входных событий или методы, измеряющие включение в Node. Результаты выделения мышью и методы включения не определены, когда у Node включен эффект DisplacementMap.
Пример:
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); Код выше создает следующее:
- Since:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty<Effect> |
input |
Входные данные для этого Effect. |
final ObjectProperty<FloatMap> |
mapData |
Данные карты для этого Effect. |
final DoubleProperty |
offsetX |
Смещение, на которое смещаются все значения смещения координат x в FloatMap после масштабирования. |
final DoubleProperty |
offsetY |
Смещение, на которое смещаются все значения смещения координат y в FloatMap после масштабирования. |
final DoubleProperty |
scaleX |
Коэффициент масштабирования, на который умножаются все значения смещения координат x в FloatMap. |
final DoubleProperty |
scaleY |
Коэффициент масштабирования, на который умножаются все значения смещения координат y в FloatMap. |
final BooleanProperty |
wrap |
Определяет, будут ли значения, взятые за пределами краев карты, "переворачиваться" или нет. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
DisplacementMap() |
Создаёт новый экземпляр DisplacementMap с параметрами по умолчанию. |
DisplacementMap |
Создаёт новый экземпляр DisplacementMap со специфицированными mapData. |
DisplacementMap |
Создаёт новый экземпляр DisplacementMap со специфицированными mapData, offsetX, offsetY, scaleX и scaleY. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final Effect |
getInput() |
Получает значение свойства input. |
final FloatMap |
getMapData() |
Получает значение свойства mapData. |
final double |
getOffsetX() |
Получает значение свойства offsetX. |
final double |
getOffsetY() |
Получает значение свойства offsetY. |
final double |
getScaleX() |
Получает значение свойства scaleX. |
final double |
getScaleY() |
Получает значение свойства scaleY. |
final ObjectProperty<Effect> |
inputProperty() |
Входные данные для этого Effect. |
final boolean |
isWrap() |
Получает значение свойства wrap. |
final ObjectProperty<FloatMap> |
mapDataProperty() |
Данные карты для этого Effect. |
final DoubleProperty |
offsetXProperty() |
Смещение, на которое смещаются все значения смещения координат x в FloatMap после масштабирования. |
final DoubleProperty |
offsetYProperty() |
Смещение, на которое смещаются все значения смещения координат y в FloatMap после масштабирования. |
final DoubleProperty |
scaleXProperty() |
Коэффициент масштабирования, на который умножаются все значения смещения координат x в FloatMap. |
final DoubleProperty |
scaleYProperty() |
Коэффициент масштабирования, на который умножаются все значения смещения координат y в FloatMap. |
final void |
setInput |
Устанавливает значение свойства input. |
final void |
setMapData |
Устанавливает значение свойства mapData. |
final void |
setOffsetX |
Устанавливает значение свойства offsetX. |
final void |
setOffsetY |
Устанавливает значение свойства offsetY. |
final void |
setScaleX |
Устанавливает значение свойства scaleX. |
final void |
setScaleY |
Устанавливает значение свойства scaleY. |
final void |
setWrap |
Устанавливает значение свойства wrap. |
final BooleanProperty |
wrapProperty() |
Определяет, будут ли значения, взятые за пределами краев карты, "переворачиваться" или нет. |
Подробности свойства
input
public final ObjectProperty<Effect> inputProperty
Effect. Если установлено значение null или не указано, в качестве входа будет использоваться графическое изображение Node, к которому прикреплен Effect.- Значение по умолчанию:
- null
- См. также:
mapData
public final ObjectProperty<FloatMap> mapDataProperty
Effect.- Значение по умолчанию:
- пустая карта
- См. также:
scaleX
public final DoubleProperty scaleXProperty
FloatMap.
Min: n/a
Max: n/a
Default: 1.0
Identity: 1.0
- Значение по умолчанию:
- 1.0
- См. также:
scaleY
public final DoubleProperty scaleYProperty
FloatMap.
Min: n/a
Max: n/a
Default: 1.0
Identity: 1.0
- Значение по умолчанию:
- 1.0
- См. также:
offsetX
public final DoubleProperty offsetXProperty
FloatMap после масштабирования.
Min: n/a
Max: n/a
Default: 0.0
Identity: 0.0
- Значение по умолчанию:
- 0.0
- См. также:
offsetY
public final DoubleProperty offsetYProperty
FloatMap после масштабирования.
Min: n/a
Max: n/a
Default: 0.0
Identity: 0.0
- Значение по умолчанию:
- 0.0
- См. также:
wrap
public final BooleanProperty wrapProperty
Min: n/a
Max: n/a
Default: false
Identity: n/a
- Значение по умолчанию:
- false
- См. также:
Подробности конструктора
DisplacementMap
public DisplacementMap()
DisplacementMap
public DisplacementMap(FloatMap mapData)
- Параметры:
-
mapData- данные карты для этого эффекта смещения карты - С:
- JavaFX 2.1
DisplacementMap
public DisplacementMap(FloatMap mapData, double offsetX, double offsetY, double scaleX, double scaleY)
- Параметры:
-
mapData- данные карты для этого эффекта смещения карты -
offsetX- смещение по оси X, на которое смещаются все значения смещения координаты x после масштабирования -
offsetY- смещение по оси Y, на которое смещаются все значения смещения координаты y после масштабирования -
scaleX- коэффициент масштабирования по оси X, с которым умножаются все значения смещения координаты x -
scaleY- коэффициент масштабирования по оси Y, с которым умножаются все значения смещения координаты y - С:
- JavaFX 2.1
Подробности метода
setInput
public final void setInput(Effect value)
input.- Описание свойства:
- Вход для этого
Effect. Если установлено значениеnullили не указано, в качестве входа будет использоваться графическое изображениеNode, к которому прикрепленEffect. - Значение по умолчанию:
- null
- Параметры:
-
value- значение для свойстваinput - См. также:
getInput
public final Effect getInput()
input.- Описание свойства:
- Вход для этого
Effect. Если установлено значениеnullили не указано, в качестве входа будет использоваться графическое изображениеNode, к которому прикрепленEffect. - Значение по умолчанию:
- null
- Возвращает:
- значение свойства
input - См. также:
inputProperty
public final ObjectProperty<Effect> inputProperty()
Effect. Если установлено значение null или не указано, в качестве входа будет использоваться графическое изображение Node, к которому прикреплен Effect.- Значение по умолчанию:
- null
- Возвращает:
- свойство
input - См. также:
setMapData
public final void setMapData(FloatMap value)
mapData.- Описание свойства:
- Данные карты для этого
Effect. - Значение по умолчанию:
- пустая карта
- Параметры:
-
value- значение для свойстваmapData - См. также:
getMapData
public final FloatMap getMapData()
mapData.- Описание свойства:
- Данные карты для этого
Effect. - Значение по умолчанию:
- пустая карта
- Возвращает:
- значение свойства
mapData - См. также:
mapDataProperty
public final ObjectProperty<FloatMap> mapDataProperty()
Effect.- Значение по умолчанию:
- пустая карта
- Возвращает:
- свойство
mapData - См. также:
setScaleX
public final void setScaleX(double value)
scaleX.- Описание свойства:
- Коэффициент масштаба, с которым умножаются все значения смещения координаты x в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Значение по умолчанию:
- 1.0
- Параметры:
-
value- значение для свойстваscaleX - См. также:
getScaleX
public final double getScaleX()
scaleX.- Описание свойства:
- Коэффициент масштаба, с которым умножаются все значения смещения координаты x в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Значение по умолчанию:
- 1.0
- Возвращает:
- значение свойства
scaleX - См. также:
scaleXProperty
public final DoubleProperty scaleXProperty()
FloatMap.
Min: n/a
Max: n/a
Default: 1.0
Identity: 1.0
- Значение по умолчанию:
- 1.0
- Возвращает:
- свойство
scaleX - См. также:
setScaleY
public final void setScaleY(double value)
scaleY.- Описание свойства:
- Коэффициент масштабирования по оси Y для всех смещений координат Y в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Значение по умолчанию:
- 1.0
- Параметры:
-
value- значение для свойстваscaleY - См. также:
getScaleY
public final double getScaleY()
scaleY.- Описание свойства:
- Коэффициент масштабирования по оси Y для всех смещений координат Y в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Значение по умолчанию:
- 1.0
- Возвращает:
- значение свойства
scaleY - См. также:
scaleYProperty
public final DoubleProperty scaleYProperty()
FloatMap.
Min: n/a
Max: n/a
Default: 1.0
Identity: 1.0
- Значение по умолчанию:
- 1.0
- Возвращает:
- свойство
scaleY - См. также:
setOffsetX
public final void setOffsetX(double value)
offsetX.- Описание свойства:
- Смещение по оси X для всех смещений координат X в
FloatMapпосле масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Значение по умолчанию:
- 0.0
- Параметры:
-
value- значение для свойстваoffsetX - См. также:
getOffsetX
public final double getOffsetX()
offsetX.- Описание свойства:
- Смещение по оси X для всех смещений координат X в
FloatMapпосле масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Значение по умолчанию:
- 0.0
- Возвращает:
- значение свойства
offsetX - См. также:
offsetXProperty
public final DoubleProperty offsetXProperty()
FloatMap после масштабирования.
Min: n/a
Max: n/a
Default: 0.0
Identity: 0.0
- Значение по умолчанию:
- 0.0
- Возвращает:
- свойство
offsetX - См. также:
setOffsetY
public final void setOffsetY(double value)
offsetY.- Описание свойства:
- Смещение по оси Y для всех смещений координат Y в
FloatMapпосле масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Значение по умолчанию:
- 0.0
- Параметры:
-
value- значение для свойстваoffsetY - См. также:
getOffsetY
public final double getOffsetY()
offsetY.- Описание свойства:
- Смещение по оси Y для всех смещений координат Y в
FloatMapпосле масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Значение по умолчанию:
- 0.0
- Возвращает:
- значение свойства
offsetY - См. также:
offsetYProperty
public final DoubleProperty offsetYProperty()
FloatMap после масштабирования.
Min: n/a
Max: n/a
Default: 0.0
Identity: 0.0
- Значение по умолчанию:
- 0.0
- Возвращает:
- свойство
offsetY - См. также:
setWrap
public final void setWrap(boolean value)
wrap.- Описание свойства:
- Определяет, будут ли значения, взятые за пределами границ карты, "перекручиваться" или нет.
Min: n/a Max: n/a Default: false Identity: n/a - Значение по умолчанию:
- false
- Параметры:
-
value- значение для свойстваwrap - См. также:
isWrap
public final boolean isWrap()
wrap.- Описание свойства:
- Определяет, будут ли значения, взятые за пределами границ карты, "перекручиваться" или нет.
Min: n/a Max: n/a Default: false Identity: n/a - Значение по умолчанию:
- false
- Возвращает:
- значение свойства
wrap - См. также:
wrapProperty
public final BooleanProperty wrapProperty()
Min: n/a
Max: n/a
Default: false
Identity: n/a
- Значение по умолчанию:
- false
- Возвращает:
- свойство
wrap - См. также:
© 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.