Spec-Zone.ru › OpenJavaFX 17

Класс DisplacementMap

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);

Код выше генерирует следующее:

The visual effect of
 DisplacementMap on text

Since:
JavaFX 2.0

Краткое описание свойств

Свойства
Тип Свойство Описание
ObjectProperty<Effect> input
Входные данные для этого Effect.
ObjectProperty<FloatMap> mapData
Данные карты для этого Effect.
DoubleProperty offsetX
Смещение, на которое сдвигаются все значения смещения координаты x в FloatMap после масштабирования.
DoubleProperty offsetY
Смещение, на которое сдвигаются все значения смещения координаты y в FloatMap после масштабирования.
DoubleProperty scaleX
Коэффициент масштабирования, на который умножаются все значения смещения координаты x в FloatMap.
DoubleProperty scaleY
Коэффициент масштабирования, на который умножаются все значения смещения координаты y в FloatMap.
BooleanProperty wrap
Определяет, будут ли значения, взятые извне границ карты, «заворачиваться» или нет.

Краткое описание конструкторов

Конструкторы
Конструктор Описание
DisplacementMap()
Создает новый экземпляр DisplacementMap с параметрами по умолчанию.
DisplacementMap​(FloatMap mapData)
Создает новый экземпляр DisplacementMap со заданными данными карты.
DisplacementMap​(FloatMap mapData, double offsetX, double offsetY, double scaleX, double scaleY)
Создает новый экземпляр DisplacementMap со заданными данными карты, смещениями offsetX, offsetY, масштабами scaleX и scaleY.

Краткое описание методов

Модификатор и тип Метод Описание
Effect getInput()
Получает значение свойства input.
FloatMap getMapData()
Получает значение свойства mapData.
double getOffsetX()
Получает значение свойства offsetX.
double getOffsetY()
Получает значение свойства offsetY.
double getScaleX()
Получает значение свойства scaleX.
double getScaleY()
Получает значение свойства scaleY.
ObjectProperty<Effect> inputProperty()
Входные данные для этого Effect.
boolean isWrap()
Получает значение свойства wrap.
ObjectProperty<FloatMap> mapDataProperty()
Данные карты для этого Effect.
DoubleProperty offsetXProperty()
Смещение, на которое сдвигаются все значения смещения координаты x в FloatMap после масштабирования.
DoubleProperty offsetYProperty()
Смещение, на которое сдвигаются все значения смещения координаты y в FloatMap после масштабирования.
DoubleProperty scaleXProperty()
Коэффициент масштабирования, на который умножаются все значения смещения координаты x в FloatMap.
DoubleProperty scaleYProperty()
Коэффициент масштабирования, на который умножаются все значения смещения координаты y в FloatMap.
void setInput​(Effect value)
Устанавливает значение свойства input.
void setMapData​(FloatMap value)
Устанавливает значение свойства mapData.
void setOffsetX​(double value)
Устанавливает значение свойства offsetX.
void setOffsetY​(double value)
Устанавливает значение свойства offsetY.
void setScaleX​(double value)
Устанавливает значение свойства scaleX.
void setScaleY​(double value)
Устанавливает значение свойства scaleY.
void setWrap​(boolean value)
Устанавливает значение свойства wrap.
BooleanProperty wrapProperty()
Определяет, будут ли значения, взятые извне границ карты, «заворачиваться» или нет.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробности свойств

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

Подробности методов

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
См. также:
getInput(), setInput(Effect)

setMapData

public final void setMapData(FloatMap value)
Устанавливает значение свойства mapData.
Описание свойства:
Данные карты для этого Effect.
Значение по умолчанию:
пустая карта

getMapData

public final FloatMap getMapData()
Получает значение свойства mapData.
Описание свойства:
Данные карты для этого Effect.
Значение по умолчанию:
пустая карта

mapDataProperty

public final ObjectProperty<FloatMap> mapDataProperty()
Данные карты для этого Effect.
Значение по умолчанию:
пустая карта
См. также:
getMapData(), setMapData(FloatMap)

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
См. также:
getScaleX(), setScaleX(double)

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
См. также:
getScaleY(), setScaleY(double)

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
См. также:
getOffsetX(), setOffsetX(double)

смещениеY

public final void setOffsetY(double value)
Устанавливает значение свойства offsetY.
Описание свойства:
Смещение, на которое смещаются все значения смещения координаты Y в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0

получитьСмещениеY

public final double getOffsetY()
Получает значение свойства offsetY.
Описание свойства:
Смещение, на которое смещаются все значения смещения координаты Y в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0

свойствоСмещениеY

public final DoubleProperty offsetYProperty()
Смещение, на которое смещаются все значения смещения координаты Y в FloatMap после масштабирования.
       Min: n/a
       Max: n/a
   Default: 0.0
  Identity: 0.0
 
Значение по умолчанию:
0.0
См. также:
getOffsetY(), setOffsetY(double)

установитьОбёртку

public final void setWrap(boolean value)
Устанавливает значение свойства wrap.
Описание свойства:
Определяет, будут ли значения, взятые за пределами границ карты, "заворачиваться" или нет.
       Min:  n/a
       Max:  n/a
   Default: false
  Identity:  n/a
 
Значение по умолчанию:
false

являетсяОбёрткой

public final boolean isWrap()
Получает значение свойства wrap.
Описание свойства:
Определяет, будут ли значения, взятые за пределами границ карты, "заворачиваться" или нет.
       Min:  n/a
       Max:  n/a
   Default: false
  Identity:  n/a
 
Значение по умолчанию:
false

свойствоОбёртки

public final BooleanProperty wrapProperty()
Определяет, будут ли значения, взятые за пределами границ карты, "заворачиваться" или нет.
       Min:  n/a
       Max:  n/a
   Default: false
  Identity:  n/a
 
Значение по умолчанию:
false
См. также:
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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API