Класс 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 |
Создает новый экземпляр LinearGradient. |
LinearGradient |
Создает новый экземпляр LinearGradient. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Указывает, является ли другой объект "равным" этому. |
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 |
getStops() |
Последовательность из 2 или более значений Stop, определяющих способ распределения цветов по градиенту. |
int |
hashCode() |
Возвращает хэш-код для этого объекта LinearGradient. |
LinearGradient |
interpolate |
Возвращает промежуточное значение между значением этого LinearGradient и указанным endValue с использованием линейного коэффициента интерполяции t, изменяющегося от 0 (включительно) до 1 (включительно). |
Paint |
interpolate |
Возвращает промежуточное значение между значением этого Interpolatable и указанным endValue с использованием линейного коэффициента интерполяции t, изменяющегося от 0 (включительно) до 1 (включительно). |
final boolean |
isOpaque() |
Получает, является ли эта Paint полностью непрозрачной. |
final boolean |
isProportional() |
Указывает, являются ли начальные и конечные расположения пропорциональными или абсолютными. |
String |
toString() |
Возвращает строковое представление этого объекта LinearGradient. |
static LinearGradient |
valueOf |
Создает линейный градиент из строкового представления. |
Подробное описание конструкторов
LinearGradient
public LinearGradient(double startX, double startY, double endX, double endY, boolean proportional, CycleMethod cycleMethod, Stop... stops)
- Параметры:
-
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)
- Параметры:
-
startX- координата X начальной точки оси градиента -
startY- координата Y начальной точки оси градиента -
endX- координата X конечной точки оси градиента -
endY- координата Y конечной точки оси градиента -
proportional- признак пропорциональности координат форме, заполняемой этим градиентом -
cycleMethod- метод циклирования, применяемый к градиенту -
stops- задание цвета градиента
Подробное описание методов
getStartX
public final double getStartX()
- Значение по умолчанию:
- 0.0
- Тип интерполяции:
-
линейная, если оба значения абсолютные или оба значения
proportional, дискретная в противном случае - Возвращает:
- координату X начальной точки оси градиента
getStartY
public final double getStartY()
- Значение по умолчанию:
- 0.0
- Тип интерполяции:
-
линейная, если оба значения абсолютные или оба значения
proportional, дискретная в противном случае - Возвращает:
- координату Y начальной точки оси градиента
getEndX
public final double getEndX()
- Значение по умолчанию:
- 1.0
- Тип интерполяции:
-
линейная, если оба значения абсолютные или оба значения
proportional, дискретная в противном случае - Возвращает:
- координату X конечной точки оси градиента
getEndY
public final double getEndY()
- Значение по умолчанию:
- 1.0
- Тип интерполяции:
-
линейная, если оба значения абсолютные или оба значения
proportional, дискретная в противном случае - Возвращает:
- координату Y конечной точки оси градиента
isProportional
public final boolean isProportional()
[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()
Stop значений, определяющих, как распределять цвета по градиенту. Эти значения должны быть в диапазоне от 0,0 до 1,0. Они действуют как ключевые кадры вдоль градиента: они отмечают, где градиент должен быть точно определенного цвета. Каждое значение в последовательности должно иметь смещение, большее, чем предыдущее значение.
Список неизменяемый и будет выбрасывать UnsupportedOperationException при каждой попытке изменения.
- Значение по умолчанию:
- пустой
- Тип интерполяции:
- Интерполяция списка остановок обеспечивает плавные переходы остановок градиента, позволяя вставлять новые остановки вдоль градиента. В наихудшем случае промежуточный список остановок имеет общее количество остановок градиента как в начальном, так и в целевом списках.
- Возвращает:
- список значений остановок
isOpaque
public final boolean isOpaque()
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
hashCode
toString
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 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.