Класс 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); Приведенный код создает следующее:
- С момента:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty |
input |
Входные данные для этого Effect. |
final ObjectProperty |
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 со специфицированными данными карты. |
DisplacementMap |
Создаёт новый экземпляр DisplacementMap со специфицированными данными карты, смещениями по X и Y, и коэффициентами масштабирования по X и Y. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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 |
inputProperty() |
Входные данные для этого Effect. |
final boolean |
isWrap() |
Получает значение свойства wrap. |
final ObjectProperty |
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 всех значений смещения координат вFloatMapпосле масштабирования -
offsetY- смещение по оси y всех значений смещения координат вFloatMapпосле масштабирования -
scaleX- коэффициент масштабирования по оси x для всех значений смещения координат вFloatMap -
scaleY- коэффициент масштабирования по оси y для всех значений смещения координат вFloatMap - С:
- 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 в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Значение по умолчанию:
- 1.0
- Параметры:
-
value- значение для свойстваscaleY - См. также:
getScaleY
public final double getScaleY()
scaleY.- Описание свойства:
- Коэффициент масштабирования, на который умножаются все смещения координат 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 в
FloatMapпосле масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Значение по умолчанию:
- 0.0
- Параметры:
-
value- значение для свойстваoffsetX - См. также:
getOffsetX
public final double getOffsetX()
offsetX.- Описание свойства:
- Смещение, на которое смещаются все значения смещений координат 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 в
FloatMapпосле масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Значение по умолчанию:
- 0.0
- Параметры:
-
value- значение для свойстваoffsetY - См. также:
getOffsetY
public final double getOffsetY()
offsetY.- Описание свойства:
- Смещение, на которое смещаются все значения смещений координат 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.