- java.lang.Object
-
- javafx.scene.effect.Effect
-
- javafx.scene.effect.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
-
Краткое описание свойств
Свойства Тип Свойство Описание ObjectProperty<Effect>inputВходные данные для этойEffect.ObjectProperty<FloatMap>mapDataДанные карты для этойEffect.DoublePropertyoffsetXСмещение, на которое смещаются все значения смещения координаты x вFloatMapпосле масштабирования.DoublePropertyoffsetYСмещение, на которое смещаются все значения смещения координаты y вFloatMapпосле масштабирования.DoublePropertyscaleXКоэффициент масштабирования, на который умножаются все значения смещения координаты x вFloatMap.DoublePropertyscaleYКоэффициент масштабирования, на который умножаются все значения смещения координаты y вFloatMap.BooleanPropertywrapОпределяет, будут ли значения, взятые за пределами границ карты, "переходить на другую сторону" или нет.
-
Краткое описание конструкторов
Конструкторы Конструктор Описание DisplacementMap()Создает новый экземпляр DisplacementMap с параметрами по умолчанию.DisplacementMap(FloatMap mapData)Создает новый экземпляр DisplacementMap с указанными данными карты.DisplacementMap(FloatMap mapData, double offsetX, double offsetY, double scaleX, double scaleY)Создает новый экземпляр DisplacementMap с указанными данными карты, offsetX, offsetY, scaleX и scaleY.
-
Краткое описание методов
Все методыМетоды экземпляраКонкретные методы Модификатор и тип Метод Описание EffectgetInput()Возвращает значение свойства input.FloatMapgetMapData()Возвращает значение свойства mapData.doublegetOffsetX()Возвращает значение свойства offsetX.doublegetOffsetY()Возвращает значение свойства offsetY.doublegetScaleX()Возвращает значение свойства scaleX.doublegetScaleY()Возвращает значение свойства scaleY.ObjectProperty<Effect>inputProperty()Входные данные для этойEffect.booleanisWrap()Возвращает значение свойства wrap.ObjectProperty<FloatMap>mapDataProperty()Данные карты для этойEffect.DoublePropertyoffsetXProperty()Смещение, на которое смещаются все значения смещения координаты x вFloatMapпосле масштабирования.DoublePropertyoffsetYProperty()Смещение, на которое смещаются все значения смещения координаты y вFloatMapпосле масштабирования.DoublePropertyscaleXProperty()Коэффициент масштабирования, на который умножаются все значения смещения координаты x вFloatMap.DoublePropertyscaleYProperty()Коэффициент масштабирования, на который умножаются все значения смещения координаты y вFloatMap.voidsetInput(Effect value)Устанавливает значение свойства input.voidsetMapData(FloatMap value)Устанавливает значение свойства mapData.voidsetOffsetX(double value)Устанавливает значение свойства offsetX.voidsetOffsetY(double value)Устанавливает значение свойства offsetY.voidsetScaleX(double value)Устанавливает значение свойства scaleX.voidsetScaleY(double value)Устанавливает значение свойства scaleY.voidsetWrap(boolean value)Устанавливает значение свойства wrap.BooleanPropertywrapProperty()Определяет, будут ли значения, взятые за пределами границ карты, "переходить на другую сторону" или нет.
-
Подробное описание свойств
-
input
public final ObjectProperty<Effect> inputProperty
Входные данные для этогоEffect. Если установлено значениеnullили оно не указано, в качестве входных данных будет использовано графическое изображениеNode, к которому прикрепленоEffect.- Значение по умолчанию:
- null
- См. также:
-
getInput(),setInput(Effect)
-
mapData
public final ObjectProperty<FloatMap> mapDataProperty
Данные карты для этогоEffect.- Значение по умолчанию:
- пустая карта
- См. также:
-
getMapData(),setMapData(FloatMap)
-
scaleX
public final DoubleProperty scaleXProperty
Коэффициент масштабирования, с которым умножаются все значения смещения координаты x вFloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0- Значение по умолчанию:
- 1.0
- См. также:
-
getScaleX(),setScaleX(double)
-
scaleY
public final DoubleProperty scaleYProperty
Коэффициент масштабирования, с которым умножаются все значения смещения координаты y вFloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0- Значение по умолчанию:
- 1.0
- См. также:
-
getScaleY(),setScaleY(double)
-
offsetX
public final DoubleProperty offsetXProperty
Смещение, с которым смещаются все значения смещения координаты x вFloatMapпосле масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0- Значение по умолчанию:
- 0.0
- См. также:
-
getOffsetX(),setOffsetX(double)
-
offsetY
public final DoubleProperty offsetYProperty
Смещение, с которым смещаются все значения смещения координаты y вFloatMapпосле масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0- Значение по умолчанию:
- 0.0
- См. также:
-
getOffsetY(),setOffsetY(double)
-
wrap
public final BooleanProperty wrapProperty
Определяет, будут ли значения, взятые за пределами краёв карты, "перематываться" или нет.Min: n/a Max: n/a Default: false Identity: n/a- Значение по умолчанию:
- false
- См. также:
-
isWrap(),setWrap(boolean)
-
-
Подробное описание конструкторов
-
DisplacementMap
public DisplacementMap()
Создаёт новый экземпляр DisplacementMap с параметрами по умолчанию.
-
DisplacementMap
public DisplacementMap(FloatMap mapData)
Создаёт новый экземпляр DisplacementMap со специфицированными данными карты.- Параметры:
-
mapData- данные карты для этого эффекта смещения - С тех пор как:
- JavaFX 2.1
-
DisplacementMap
public DisplacementMap(FloatMap mapData, double offsetX, double offsetY, double scaleX, double scaleY)
Создаёт новый экземпляр DisplacementMap со специфицированными данными карты, offsetX, offsetY, scaleX и scaleY.- Параметры:
-
mapData- данные карты для этого эффекта смещения -
offsetX- смещение, с которым смещаются все значения смещения координаты x вFloatMapпосле масштабирования -
offsetY- смещение, с которым смещаются все значения смещения координаты y вFloatMapпосле масштабирования -
scaleX- коэффициент масштабирования, с которым умножаются все значения смещения координаты x вFloatMap -
scaleY- коэффициент масштабирования, с которым умножаются все значения смещения координаты y вFloatMap - С тех пор как:
- JavaFX 2.1
-
-
Method Detail
-
setInput
public final void setInput(Effect value)
Задает значение свойства input.- Property description:
- Входные данные для этого
Effect. Если установлено вnullили не указано, графическое изображениеNode, к которому прикрепленEffect, будет использоваться в качестве входных данных. - Default value:
- null
-
getInput
public final Effect getInput()
Возвращает значение свойства input.- Property description:
- Входные данные для этого
Effect. Если установлено вnullили не указано, графическое изображениеNode, к которому прикрепленEffect, будет использоваться в качестве входных данных. - Default value:
- null
-
inputProperty
public final ObjectProperty<Effect> inputProperty()
Входные данные для этогоEffect. Если установлено вnullили не указано, графическое изображениеNode, к которому прикрепленEffect, будет использоваться в качестве входных данных.- Default value:
- null
- See Also:
-
getInput(),setInput(Effect)
-
setMapData
public final void setMapData(FloatMap value)
Задает значение свойства mapData.- Property description:
- Данные карты для этого
Effect. - Default value:
- an empty map
-
getMapData
public final FloatMap getMapData()
Возвращает значение свойства mapData.- Property description:
- Данные карты для этого
Effect. - Default value:
- an empty map
-
mapDataProperty
public final ObjectProperty<FloatMap> mapDataProperty()
Данные карты для этогоEffect.- Default value:
- an empty map
- See Also:
-
getMapData(),setMapData(FloatMap)
-
setScaleX
public final void setScaleX(double value)
Задает значение свойства scaleX.- Property description:
- Коэффициент масштабирования, на который умножаются все значения смещения координаты x в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Default value:
- 1.0
-
getScaleX
public final double getScaleX()
Возвращает значение свойства scaleX.- Property description:
- Коэффициент масштабирования, на который умножаются все значения смещения координаты x в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Default value:
- 1.0
-
scaleXProperty
public final DoubleProperty scaleXProperty()
Коэффициент масштабирования, на который умножаются все значения смещения координаты x вFloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0- Default value:
- 1.0
- See Also:
-
getScaleX(),setScaleX(double)
-
setScaleY
public final void setScaleY(double value)
Задает значение свойства scaleY.- Property description:
- Коэффициент масштабирования, на который умножаются все значения смещения координаты y в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Default value:
- 1.0
-
getScaleY
public final double getScaleY()
Возвращает значение свойства scaleY.- Property description:
- Коэффициент масштабирования, на который умножаются все значения смещения координаты y в
FloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0 - Default value:
- 1.0
-
scaleYProperty
public final DoubleProperty scaleYProperty()
Коэффициент масштабирования, на который умножаются все значения смещения координаты y вFloatMap.Min: n/a Max: n/a Default: 1.0 Identity: 1.0- Default value:
- 1.0
- See Also:
-
getScaleY(),setScaleY(double)
-
setOffsetX
public final void setOffsetX(double value)
Задает значение свойства offsetX.- Property description:
- Смещение, на которое смещаются все значения смещения координаты x в
FloatMapпосле их масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Default value:
- 0.0
-
getOffsetX
public final double getOffsetX()
Возвращает значение свойства offsetX.- Property description:
- Смещение, на которое смещаются все значения смещения координаты x в
FloatMapпосле их масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Default value:
- 0.0
-
offsetXProperty
public final DoubleProperty offsetXProperty()
Смещение, на которое смещаются все значения смещения координаты x вFloatMapпосле их масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0- Default value:
- 0.0
- See Also:
-
getOffsetX(),setOffsetX(double)
-
setOffsetY
public final void setOffsetY(double value)
Задает значение свойства offsetY.- Property description:
- Смещение, на которое смещаются все значения смещения координаты y в
FloatMapпосле их масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Default value:
- 0.0
-
getOffsetY
public final double getOffsetY()
Возвращает значение свойства offsetY.- Property description:
- Смещение, на которое смещаются все значения смещения координаты y в
FloatMapпосле их масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0 - Default value:
- 0.0
-
offsetYProperty
public final DoubleProperty offsetYProperty()
Смещение, на которое смещаются все значения смещения координаты y вFloatMapпосле их масштабирования.Min: n/a Max: n/a Default: 0.0 Identity: 0.0- Default value:
- 0.0
- See Also:
-
getOffsetY(),setOffsetY(double)
-
setWrap
public final void setWrap(boolean value)
Задает значение свойства wrap.- Property description:
- Определяет, «оборачиваются» ли значения, взятые за пределами краев карты.
Min: n/a Max: n/a Default: false Identity: n/a - Default value:
- false
-
isWrap
public final boolean isWrap()
Возвращает значение свойства wrap.- Property description:
- Определяет, «оборачиваются» ли значения, взятые за пределами краев карты.
Min: n/a Max: n/a Default: false Identity: n/a - Default value:
- false
-
wrapProperty
public final BooleanProperty wrapProperty()
Определяет, «оборачиваются» ли значения, взятые за пределами краев карты.Min: n/a Max: n/a Default: false Identity: n/a- Default value:
- false
- See Also:
-
isWrap(),setWrap(boolean)
-
© 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.