Класс Path2D.Float
- Все реализованные интерфейсы:
-
Shape,Serializable,Cloneable
- Прямые известные подклассы:
GeneralPath
- Включающий класс:
- Path2D
public static class Path2D.Float extends Path2D implements Serializable
Float определяет геометрическую траекторию с координатами, хранящимися в однобайтовом формате с плавающей точкой.- С тех пор:
- 1.6
- См. также:
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.awt.geom.Path2D
Path2D.Double, Path2D.Float
Краткое описание полей
Поля, объявленные в классе java.awt.geom.Path2D
WIND_EVEN_ODD, WIND_NON_ZERO
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Float() |
Создает новый пустой объект с плавающей точкой Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO. |
Float |
Создает новый пустой объект с плавающей точкой Path2D с указанным правилом обхода для управления операциями, требующими определения внутренней части траектории. |
Float |
Создает новый пустой объект с плавающей точкой Path2D с указанным правилом обхода и указанной начальной емкостью для хранения сегментов траектории. |
Float |
Создает новый объект с плавающей точкой Path2D из произвольного объекта Shape. |
Float |
Создает новый объект с плавающей точкой Path2D из произвольного объекта Shape, преобразованный объектом AffineTransform. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final void |
append |
Добавляет геометрию указанного объекта PathIterator к траектории, возможно соединяя новую геометрию с существующими сегментами траектории отрезком прямой. |
final Object |
clone() |
Создает новый объект того же класса, что и этот объект. |
final void |
curveTo |
Добавляет криволинейный сегмент, определенный тремя новыми точками, в траекторию, рисуя кривую Безье, пересекающую как текущие координаты, так и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. |
final void |
curveTo |
Добавляет криволинейный сегмент, определенный тремя новыми точками, в траекторию, рисуя кривую Безье, пересекающую как текущие координаты, так и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. |
final Rectangle2D |
getBounds2D() |
Возвращает ограничивающую прямоугольник с высокой точностью и большей точностью для Shape по сравнению с методом getBounds. |
final PathIterator |
getPathIterator |
Возвращает объект-итератор, который перебирает границу Shape и предоставляет доступ к геометрии контура Shape. |
final void |
lineTo |
Добавляет точку в траекторию, рисуя прямую линию от текущих координат к новым указанным координатам, указанным в двойной точности. |
final void |
lineTo |
Добавляет точку в траекторию, рисуя прямую линию от текущих координат к новым указанным координатам, указанным в формате с плавающей точкой. |
final void |
moveTo |
Добавляет точку в траекторию, перемещаясь в указанные координаты, указанные в двойной точности. |
final void |
moveTo |
Добавляет точку в траекторию, перемещаясь в указанные координаты, указанные в формате с плавающей точкой. |
final void |
quadTo |
Добавляет криволинейный сегмент, определенный двумя новыми точками, в траекторию, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве квадратичной параметрической контрольной точки. |
final void |
quadTo |
Добавляет криволинейный сегмент, определенный двумя новыми точками, в траекторию, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве квадратичной параметрической контрольной точки. |
final void |
transform |
Преобразует геометрию этой траектории с помощью указанного AffineTransform. |
final void |
trimToSize() |
Урезает емкость экземпляра Path2D до текущего размера. |
Методы, объявленные в классе java.awt.geom.Path2D
append, closePath, contains, contains, contains, contains, contains, contains, contains, contains, createTransformedShape, getBounds, getCurrentPoint, getPathIterator, getWindingRule, intersects, intersects, intersects, intersects, reset, setWindingRule
Подробное описание конструкторов
Float
public Float()
Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.- Since:
- 1.6
Float
public Float(int rule)
Path2D с указанным правилом обхода для управления операциями, требующими определения внутренней части пути.- Parameters:
-
rule- правило обхода - Throws:
-
IllegalArgumentException- еслиruleне является ниPath2D.WIND_EVEN_ODD, ниPath2D.WIND_NON_ZERO - Since:
- 1.6
- See Also:
Float
public Float(int rule, int initialCapacity)
Path2D с указанным правилом обхода и заданной начальной ёмкостью для хранения сегментов пути. Это значение является начальным приближением количества сегментов пути, которые будут добавлены в путь, но хранилище расширяется по мере необходимости для хранения добавленных сегментов пути.- Parameters:
-
rule- правило обхода -
initialCapacity- оценка количества сегментов пути - Throws:
-
IllegalArgumentException- еслиruleне является ниPath2D.WIND_EVEN_ODD, ниPath2D.WIND_NON_ZERO -
NegativeArraySizeException- еслиinitialCapacityотрицательное - Since:
- 1.6
- See Also:
Float
public Float(Shape s)
Path2D из произвольного объекта Shape. Вся начальная геометрия и правило обхода для этого пути взяты из указанного объекта Shape.- Parameters:
-
s- указанный объектShape - Throws:
-
NullPointerException- еслиsравноnull - Since:
- 1.6
Float
public Float(Shape s, AffineTransform at)
Path2D из произвольного объекта Shape, преобразованного с помощью объекта AffineTransform. Вся начальная геометрия и правило обхода для этого пути взяты из указанного объекта Shape и преобразуются с помощью указанного объекта AffineTransform.- Parameters:
-
s- указанный объектShape -
at- указанный объектAffineTransform - Throws:
-
NullPointerException- еслиsравноnull - Since:
- 1.6
Подробное описание методов
trimToSize
public final void trimToSize()
Path2D- Specified by:
-
trimToSizeв классеPath2D
moveTo
public final void moveTo(double x, double y)
- Specified by:
-
moveToв классеPath2D - Parameters:
-
x- указанная координата X -
y- указанная координата Y - Since:
- 1.6
moveTo
public final void moveTo(float x, float y)
Этот метод предоставляет вариант одинарной точности для метода двойной точности moveTo() в базовом классе Path2D.
- Parameters:
-
x- указанная координата X -
y- указанная координата Y - Since:
- 1.6
- See Also:
lineTo
public final void lineTo(double x, double y)
- Specified by:
-
lineToв классеPath2D - Parameters:
-
x- указанная координата X -
y- указанная координата Y - Since:
- 1.6
lineTo
public final void lineTo(float x, float y)
Этот метод предоставляет вариант одинарной точности для метода двойной точности lineTo() в базовом классе Path2D.
- Parameters:
-
x- указанная координата X -
y- указанная координата Y - Since:
- 1.6
- See Also:
quadTo
public final void quadTo(double x1, double y1, double x2, double y2)
(x2,y2), используя указанную точку (x1,y1) в качестве параметрической контрольной точки квадратичной кривой. Все координаты заданы с двойной точностью.- Specified by:
-
quadToв классеPath2D - Parameters:
-
x1- координата X контрольной точки квадратичной кривой -
y1- координата Y контрольной точки квадратичной кривой -
x2- координата X конечной точки -
y2- координата Y конечной точки - Since:
- 1.6
quadTo
public final void quadTo(float x1, float y1, float x2, float y2)
(x2,y2), используя указанную точку (x1,y1) в качестве параметрической контрольной точки квадратичной кривой. Все координаты заданы с плавающей запятой одинарной точности. Этот метод предоставляет вариант одинарной точности для метода двойной точности quadTo() в базовом классе Path2D.
- Parameters:
-
x1- координата X контрольной точки квадратичной кривой -
y1- координата Y контрольной точки квадратичной кривой -
x2- координата X конечной точки -
y2- координата Y конечной точки - Since:
- 1.6
- See Also:
curveTo
public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
(x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. Все координаты заданы с двойной точностью.- Specified by:
-
curveToв классеPath2D - Parameters:
-
x1- координата X первой контрольной точки Безье -
y1- координата Y первой контрольной точки Безье -
x2- координата X второй контрольной точки Безье -
y2- координата Y второй контрольной точки Безье -
x3- координата X конечной точки -
y3- координата Y конечной точки - Since:
- 1.6
curveTo
public final void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
(x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. Все координаты указаны с плавающей точкой. Этот метод предоставляет вариант с одинарной точностью для метода с двойной точностью curveTo() в базовом классе Path2D.
- Parameters:
-
x1- координата X первой контрольной точки Безье -
y1- координата Y первой контрольной точки Безье -
x2- координата X второй контрольной точки Безье -
y2- координата Y второй контрольной точки Безье -
x3- координата X конечной точки -
y3- координата Y конечной точки - Since:
- 1.6
- See Also:
append
public final void append(PathIterator pi, boolean connect)
PathIterator в путь, возможно, соединяя новую геометрию с существующими сегментами пути с помощью отрезка прямой. Если параметр connect равен true и путь не пуст, то любой начальный moveTo в геометрии добавленного Shape преобразуется в lineTo сегмент. Если координаты назначения такого соединяющего lineTo сегмента совпадают с координатами окончания текущей подтраектории, то сегмент опускается как излишний. Правило обхода указанного Shape игнорируется, и добавленная геометрия управляется правилом обхода, указанным для этого пути.- Specified by:
-
appendв классеPath2D - Parameters:
-
pi- объектPathIterator, чья геометрия добавляется в этот путь -
connect- булево значение, управляющее преобразованием начальногоmoveToсегмента вlineToсегмент для подключения новой геометрии к существующему пути - Since:
- 1.6
transform
public final void transform(AffineTransform at)
AffineTransform. Геометрия преобразуется на месте, что приводит к постоянному изменению границы, определённой этим объектом.- Specified by:
-
transformв классеPath2D - Parameters:
-
at-AffineTransformдля преобразования области - Since:
- 1.6
getBounds2D
public final Rectangle2D getBounds2D()
Shape с высокой точностью и большей точностью, чем метод getBounds. Обратите внимание, что нет гарантии, что возвращаемый Rectangle2D является самым маленьким охватывающим прямоугольником Shape, только то, что Shape полностью лежит внутри указанного Rectangle2D. Возвращаемый этим методом прямоугольник обычно уже, чем тот, который возвращается методом getBounds, и никогда не терпит неудачу из-за проблем с переполнением, так как значение возврата может быть экземпляром Rectangle2D, который использует значения двойной точности для хранения размеров. Обратите внимание, что определение принадлежности может привести к ситуациям, когда точки на определяющей линии shape могут не считаться содержащимися в возвращённом bounds объекте, но только в тех случаях, когда эти точки также не считаются содержащимися в исходном shape.
Если point находится внутри shape в соответствии с методом contains(point), то он должен быть внутри возвращённого Rectangle2D прямоугольника в соответствии с методом contains(point) bounds. Конкретно:
shape.contains(p) требует bounds.contains(p)
Если point не находится внутри shape, то он всё ещё может быть содержащимся в bounds объекте:
bounds.contains(p) не подразумевает shape.contains(p)
- Specified by:
-
getBounds2Dв интерфейсеShape - Returns:
- экземпляр
Rectangle2D, который является прямоугольником, охватывающимShape. - Since:
- 1.6
- See Also:
getPathIterator
public final PathIterator getPathIterator(AffineTransform at)
Shape и предоставляет доступ к геометрии контура Shape. Если указан необязательный AffineTransform, координаты, возвращённые в итерации, преобразуются соответствующим образом. Каждый вызов этого метода возвращает новый объект PathIterator, который перебирает геометрию Shape объекта независимо от других объектов PathIterator , используемых одновременно.
Рекомендуется, но не гарантируется, что объекты, реализующие интерфейс Shape, изолируют итерации, которые в процессе, от любых изменений, которые могут произойти в геометрии исходного объекта во время таких итераций.
Итератор для этого класса не безопасен для многопоточности, что означает, что класс Path2D не гарантирует, что изменения в геометрии этого объекта Path2D не повлияют на уже выполняющиеся итерации по этой геометрии.
- Specified by:
-
getPathIteratorв интерфейсеShape - Parameters:
-
at- необязательныйAffineTransform, который будет применяться к координатам по мере их возвращения в итерации, илиnull, если требуются не преобразованные координаты - Returns:
- новый объект
PathIterator, который независимо перебирает геометриюShape. - Since:
- 1.6
clone
public final Object clone()
- Specified by:
-
cloneв классеPath2D - Returns:
- клонированный экземпляр.
- Throws:
-
OutOfMemoryError- если памяти недостаточно. - Since:
- 1.6
- See Also:
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/geom/Path2D.Float.html