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