Класс Path2D.Float
- Все реализованные интерфейсы:
-
Shape,Serializable,Cloneable
- Прямые известные подклассы:
GeneralPath
- Вложенный класс:
Path2D
public static non-sealed 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- еслиsnull - Since:
- 1.6
Float
public Float(Shape s, AffineTransform at)
Path2D из произвольного объекта Shape, преобразованного объектом AffineTransform. Вся начальная геометрия и правило обхода для этого пути взяты из указанного объекта Shape и преобразуются указанным объектом AffineTransform.- Parameters:
-
s- указанный объектShape -
at- указанный объектAffineTransform - Throws:
-
NullPointerException- еслиsnull - 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.
- Параметры:
-
x1- координата X первой контрольной точки Безье -
y1- координата Y первой контрольной точки Безье -
x2- координата X второй контрольной точки Безье -
y2- координата Y второй контрольной точки Безье -
x3- координата X конечной точки -
y3- координата Y конечной точки - С тех пор:
- 1.6
- См. также:
append
public final void append(PathIterator pi, boolean connect)
PathIterator к траектории, возможно соединяя новую геометрию с существующими сегментами траектории с помощью отрезка прямой. Если параметр connect равен true, и траектория не пуста, то любой начальный moveTo в геометрии добавленной Shape превращается в lineTo сегмент. Если целевые координаты такого соединительного lineTo сегмента совпадают с конечными координатами текущей открытой подтраектории, то сегмент опускается как избыточный. Правило обхода указанного Shape игнорируется, и добавленная геометрия подчиняется правилу обхода, указанному для этой траектории.- Определено в:
-
appendв классеPath2D - Параметры:
-
pi-PathIterator, геометрия которого добавляется к этой траектории -
connect- логическое значение, определяющее, следует ли преобразовывать начальныйmoveToсегмент вlineToсегмент для соединения новой геометрии с существующей траекторией - С тех пор:
- 1.6
transform
public final void transform(AffineTransform at)
AffineTransform. Геометрия преобразуется на месте, что приводит к постоянному изменению границы, определяемой этим объектом.- Определено в:
-
transformв классеPath2D - Параметры:
-
at-AffineTransform, используемый для преобразования области - С тех пор:
- 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)
- Определено в:
-
getBounds2Dв интерфейсеShape - Возвращает:
- экземпляр
Rectangle2D, являющийся высокоточной ограничивающей рамкойShape. - С тех пор:
- 1.6
- См. также:
getPathIterator
public final PathIterator getPathIterator(AffineTransform at)
Shape и предоставляет доступ к геометрии контура Shape. Если указан необязательный AffineTransform, координаты, возвращаемые в ходе итерации, преобразуются соответствующим образом. Каждый вызов этого метода возвращает новый объект-итератор, который проходит по геометрии объекта Shape независимо от других объектов-итераторов, используемых одновременно.
Рекомендуется, но не гарантируется, что объекты, реализующие интерфейс Shape, изолируют итерации, которые выполняются, от любых изменений, которые могут произойти в геометрии исходного объекта во время таких итераций.
Итератор для этого класса не является безопасным для потоков, что означает, что класс Path2D не гарантирует, что изменения в геометрии этого объекта Path2D не повлияют на уже выполняющиеся итерации этой геометрии.
- Определено в:
-
getPathIteratorв интерфейсеShape - Параметры:
-
at- необязательныйAffineTransformдля применения к координатам по мере их возвращения в ходе итерации, илиnullесли желаемы не преобразованные координаты - Возвращает:
- новый объект-итератор
PathIterator, который независимо перебирает геометрию объектаShape. - С тех пор:
- 1.6
clone
public final Object clone()
- Определено в:
-
cloneв классеPath2D - Возвращает:
- клонированный экземпляр.
- Исключения:
-
OutOfMemoryError- если памяти недостаточно. - С тех пор:
- 1.6
- См. также:
© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/geom/Path2D.Float.html