Spec-Zone.ru › OpenJavaFX 24

Класс LinearGradient

java.lang.Object
javafx.scene.paint.Paint
javafx.scene.paint.LinearGradient
Все реализованные интерфейсы:
Interpolatable<Paint>
public final class LinearGradient extends Paint

Класс LinearGradient заполняет фигуру линейным градиентным узором. Пользователь может указать два или более градиентных цвета, и эта Paint обеспечит интерполяцию между каждым цветом.

Приложение предоставляет массив Stop, определяющий способ распределения цветов по градиенту. Переменная Stop#offset должна быть в диапазоне от 0,0 до 1,0 и действовать как ключевые кадры вдоль градиента. Смещения отмечают, где градиент должен быть ровно определенного цвета.

Если пропорциональная переменная установлена в true, то начальные и конечные точки градиента должны быть указаны относительно единичного квадрата (0,0->1,0) и будут растягиваться по всей фигуре. Если пропорциональная переменная установлена в false, то начальные и конечные точки должны быть указаны в локальной системе координат фигуры, и градиент не будет растягиваться.

Два закрашенных прямоугольника в примере ниже будут отображаться одинаково. Левый прямоугольник использует пропорциональные координаты для указания конечных точек градиента. Правый прямоугольник использует абсолютные координаты. Оба заполняют указанный прямоугольник горизонтальным градиентом, изменяющимся от черного до красного

// object bounding box relative (proportional = true)
Stop[] stops = new Stop[] { new Stop(0, Color.BLACK), new Stop(1, Color.RED)};
LinearGradient lg1 = new LinearGradient(0, 0, 1, 0, true, CycleMethod.NO_CYCLE, stops);
Rectangle r1 = new Rectangle(0, 0, 100, 100);
r1.setFill(lg1);

// user space relative (proportional: = false)
LinearGradient lg2 = new LinearGradient(125, 0, 225, 0, false, CycleMethod.NO_CYCLE, stops);
Rectangle r2 = new Rectangle(125, 0, 100, 100);
r2.setFill(lg2);
С момента:
JavaFX 2.0

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

Конструктор Описание
LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
Создает новый экземпляр LinearGradient.
LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
Создает новый экземпляр LinearGradient.

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

Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, является ли другой объект "равным" этому.
final CycleMethod getCycleMethod()
Определяет, какой из следующих методов цикла применяется к LinearGradient: CycleMethod.NO_CYCLE, CycleMethod.REFLECT или CycleMethod.REPEAT.
final double getEndX()
Определяет координату X конечной точки оси градиента.
final double getEndY()
Определяет координату Y конечной точки оси градиента.
final double getStartX()
Определяет координату X начальной точки оси градиента.
final double getStartY()
Определяет координату Y начальной точки оси градиента.
final List<Stop> getStops()
Последовательность из 2 или более значений Stop, определяющих способ распределения цветов по градиенту.
int hashCode()
Возвращает хэш-код для этого объекта LinearGradient.
LinearGradient interpolate(LinearGradient endValue, double t)
Возвращает промежуточное значение между значением этого LinearGradient и указанным endValue с использованием линейного коэффициента интерполяции t, изменяющегося от 0 (включительно) до 1 (включительно).
Paint interpolate(Paint endValue, double t)
Возвращает промежуточное значение между значением этого Interpolatable и указанным endValue с использованием линейного коэффициента интерполяции t, изменяющегося от 0 (включительно) до 1 (включительно).
final boolean isOpaque()
Получает, является ли эта Paint полностью непрозрачной.
final boolean isProportional()
Указывает, являются ли начальные и конечные расположения пропорциональными или абсолютными.
String toString()
Возвращает строковое представление этого объекта LinearGradient.
static LinearGradient valueOf(String value)
Создает линейный градиент из строкового представления.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

LinearGradient

public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
Создаёт новый экземпляр LinearGradient.
Параметры:
startX - координата X начальной точки оси градиента
startY - координата Y начальной точки оси градиента
endX - координата X конечной точки оси градиента
endY - координата Y конечной точки оси градиента
proportional - признак пропорциональности координат форме, заполняемой этим градиентом
cycleMethod - метод циклирования, применяемый к градиенту
stops - задание цвета градиента

LinearGradient

public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, List<Stop> stops)
Создаёт новый экземпляр LinearGradient.
Параметры:
startX - координата X начальной точки оси градиента
startY - координата Y начальной точки оси градиента
endX - координата X конечной точки оси градиента
endY - координата Y конечной точки оси градиента
proportional - признак пропорциональности координат форме, заполняемой этим градиентом
cycleMethod - метод циклирования, применяемый к градиенту
stops - задание цвета градиента

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

getStartX

public final double getStartX()
Определяет координату X начальной точки оси градиента. Если пропорциональность равна true (по умолчанию), это значение указывает точку на единичном квадрате, которая будет масштабирована для соответствия размеру формы, заполняемой градиентом.
Значение по умолчанию:
0.0
Тип интерполяции:
линейная, если оба значения абсолютные или оба значения proportional, дискретная в противном случае
Возвращает:
координату X начальной точки оси градиента

getStartY

public final double getStartY()
Определяет координату Y начальной точки оси градиента. Если пропорциональность равна true (по умолчанию), это значение указывает точку на единичном квадрате, которая будет масштабирована для соответствия размеру формы, заполняемой градиентом.
Значение по умолчанию:
0.0
Тип интерполяции:
линейная, если оба значения абсолютные или оба значения proportional, дискретная в противном случае
Возвращает:
координату Y начальной точки оси градиента

getEndX

public final double getEndX()
Определяет координату X конечной точки оси градиента. Если пропорциональность равна true (по умолчанию), это значение указывает точку на единичном квадрате, которая будет масштабирована для соответствия размеру формы, заполняемой градиентом.
Значение по умолчанию:
1.0
Тип интерполяции:
линейная, если оба значения абсолютные или оба значения proportional, дискретная в противном случае
Возвращает:
координату X конечной точки оси градиента

getEndY

public final double getEndY()
Определяет координату Y конечной точки оси градиента. Если пропорциональность равна true (по умолчанию), это значение указывает точку на единичном квадрате, которая будет масштабирована для соответствия размеру формы, заполняемой градиентом.
Значение по умолчанию:
1.0
Тип интерполяции:
линейная, если оба значения абсолютные или оба значения proportional, дискретная в противном случае
Возвращает:
координату Y конечной точки оси градиента

isProportional

public final boolean isProportional()
Указывает, являются ли начальное и конечное положение пропорциональными или абсолютными. Если этот флаг равен true, две конечные точки определяются в пространстве координат, где координаты в диапазоне [0..1] масштабируются для отображения границ формы, заполненной градиентом. Если этот флаг равен false, то координаты задаются в локальной системе координат узла.
Значение по умолчанию:
true
Тип интерполяции:
дискретная
Возвращает:
true, если начальное и конечное положение пропорциональны, иначе false

getCycleMethod

public final CycleMethod getCycleMethod()
Определяет, какой метод циклирования применяется к LinearGradient: CycleMethod.NO_CYCLE, CycleMethod.REFLECT или CycleMethod.REPEAT.
Значение по умолчанию:
NO_CYCLE
Тип интерполяции:
дискретная
Возвращает:
метод циклирования, применяемый к этому линейному градиенту

getStops

public final List<Stop> getStops()
Последовательность из 2 или более Stop значений, определяющих, как распределять цвета по градиенту. Эти значения должны быть в диапазоне от 0,0 до 1,0. Они действуют как ключевые кадры вдоль градиента: они отмечают, где градиент должен быть точно определенного цвета.

Каждое значение в последовательности должно иметь смещение, большее, чем предыдущее значение.

Список неизменяемый и будет выбрасывать UnsupportedOperationException при каждой попытке изменения.

Значение по умолчанию:
пустой
Тип интерполяции:
Интерполяция списка остановок обеспечивает плавные переходы остановок градиента, позволяя вставлять новые остановки вдоль градиента. В наихудшем случае промежуточный список остановок имеет общее количество остановок градиента как в начальном, так и в целевом списках.
Возвращает:
список значений остановок

isOpaque

public final boolean isOpaque()
Определяет, является ли этот Paint полностью непрозрачным. Непрозрачный paint - это тот, у которого нет альфа-компонента ни в одном из его цветов. Возможно, что Paint будет непрозрачным и при этом вернёт false, если нельзя легко определить, является ли paint фактически непрозрачным. Например, ImagePattern может не иметь возможности быстро определить свою непрозрачность.
Унаследовано от:
isOpaque в классе Paint
Возвращает:
true, если Paint непрозрачен, false, если он непрозрачен или если это нельзя определить.
С:
JavaFX 8.0

interpolate

public LinearGradient interpolate(LinearGradient endValue, double t)
Возвращает промежуточное значение между значением этого LinearGradient и указанным endValue, используя линейный коэффициент интерполяции t, изменяющийся от 0 (включительно) до 1 (включительно).
Параметры:
endValue - целевое значение
t - коэффициент интерполяции
Возвращает:
промежуточное значение
Исключения:
NullPointerException - если endValue равно null
С:
24

interpolate

public Paint interpolate(Paint endValue, double t)
Возвращает промежуточное значение между значением этого Interpolatable и указанным endValue, используя линейный коэффициент интерполяции t, изменяющийся от 0 (включительно) до 1 (включительно).

Возвращаемое значение может не быть новым экземпляром; реализация также может вернуть один из двух существующих экземпляров, если промежуточное значение будет равно одному из существующих значений. Однако это оптимизация, и приложения не должны предполагать какой-либо особой идентичности возвращаемого значения.

Параметры:
endValue - целевое значение
t - коэффициент интерполяции
Возвращает:
промежуточное значение
Исключения:
NullPointerException - если endValue равно null
С:
24

equals

public boolean equals(Object obj)
Указывает, является ли некоторый другой объект "равным" этому.
Переопределяет:
equals в классе Object
Параметры:
obj - объект-ссылка для сравнения.
Возвращает:
true, если этот объект равен переданному аргументу; false в противном случае.

hashCode

public int hashCode()
Возвращает хэш-код для этого объекта LinearGradient.
Переопределяет:
hashCode в классе Object
Возвращает:
хэш-код для этого объекта LinearGradient.

toString

public String toString()
Возвращает строковое представление объекта LinearGradient.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта LinearGradient.

valueOf

public static LinearGradient valueOf(String value)
Создаёт значение линейного градиента из строкового представления.

Формат строкового представления основан на спецификации JavaFX CSS для линейного градиента, который выглядит так:

 linear-gradient( [ [from <point> to <point>| [ to <side-or-corner>], ]? [ [ repeat | reflect ], ]? <color-stop>[, <color-stop>]+)
 
где
 <side-or-corner> = [left | right] || [top | bottom]
 <point> = [ [ <length> <length> ] | [ <percentage> | <percentage> ] ]
 <color-stop> = [ <color> [ <percentage> | <length>]? ]
 

В настоящее время длина может быть указана только в px, указание единицы измерения можно опустить. Формат представления цвета соответствует формату, используемому в Color.web(String color). Ключевое слово linear-gradient можно опустить. Дополнительную информацию о формате строкового представления см. в Руководстве по CSS.

Примеры:

 LinearGradient g
      = LinearGradient.valueOf("linear-gradient(from 0% 0% to 100% 100%, red  0% , blue 30%,  black 100%)");
 LinearGradient g
      = LinearGradient.valueOf("from 0% 0% to 100% 100%, red  0% , blue 30%,  black 100%");
 LinearGradient g
      = LinearGradient.valueOf("linear-gradient(from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%)");
 LinearGradient g
      = LinearGradient.valueOf("from 0px 0px to 200px 0px, #00ff00 0%, 0xff0000 50%, 0x1122ff40 100%");
 
Параметры:
value - строка для преобразования
Возвращает:
объект LinearGradient, содержащий значение, представленное строковым аргументом.
Исключения:
NullPointerException - если value не null
IllegalArgumentException - если value не может быть проанализирован
С:
JavaFX 2.1

Сообщить об ошибке или предложить улучшение
Авторское право © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 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