Класс Path2D.Float
- java.lang.Object
-
- java.awt.geom.Path2D
-
- java.awt.geom.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() | Создаёт новый пустой объект одинарной точности |
Float(int rule) | Создаёт новый пустой объект одинарной точности |
Float(int rule,
int initialCapacity) | Создаёт новый пустой объект одинарной точности |
Float(Shape s) | Создаёт новый объект одинарной точности |
Float(Shape s,
AffineTransform at) | Создаёт новый объект одинарной точности |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | append(PathIterator pi,
boolean connect) | Добавляет геометрию указанного объекта |
Object | clone() | Создаёт новый объект того же класса, что и этот объект. |
void | curveTo(double x1,
double y1,
double x2,
double y2,
double x3,
double y3) | Добавляет криволинейный сегмент, определяемый тремя новыми точками, к траектории, рисуя кривую Безье, которая пересекает как текущие координаты, так и указанные координаты |
void | curveTo(float x1,
float y1,
float x2,
float y2,
float x3,
float y3) | Добавляет криволинейный сегмент, определяемый тремя новыми точками, к траектории, рисуя кривую Безье, которая пересекает как текущие координаты, так и указанные координаты |
Rectangle2D | getBounds2D() | Возвращает высокоточную и более точную ограничивающую рамку для |
PathIterator | getPathIterator(AffineTransform at) | Возвращает объект-итератор, который итерирует по границе |
void | lineTo(double x,
double y) | Добавляет точку к траектории, рисуя прямую линию от текущих координат до новых указанных координат, заданных с двойной точностью. |
void | lineTo(float x,
float y) | Добавляет точку к траектории, рисуя прямую линию от текущих координат до новых указанных координат, заданных с плавающей точкой. |
void | moveTo(double x,
double y) | Добавляет точку к траектории, перемещаясь в указанные координаты, заданные с двойной точностью. |
void | moveTo(float x,
float y) | Добавляет точку к траектории, перемещаясь в указанные координаты, заданные с плавающей точкой. |
void | quadTo(double x1,
double y1,
double x2,
double y2) | Добавляет криволинейный сегмент, определяемый двумя новыми точками, к траектории, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты |
void | quadTo(float x1,
float y1,
float x2,
float y2) | Добавляет криволинейный сегмент, определяемый двумя новыми точками, к траектории, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты |
void | transform(AffineTransform at) | Преобразует геометрию этой траектории с помощью указанного |
Методы, объявленные в классе 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, trimToSize Методы, объявленные в классе java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
Float
public Float()
Создаёт новый пустой объект одинарной точности Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.
- С тех пор:
- 1.6
Float
public Float(int rule)
Создаёт новый пустой объект одинарной точности Path2D с указанным правилом обхода для управления операциями, требующими определения внутренней области траектории.
- Параметры:
-
rule- правило обхода - С тех пор:
- 1.6
- См. также:
-
Path2D.WIND_EVEN_ODD,Path2D.WIND_NON_ZERO
Float
public Float(int rule,
int initialCapacity) Создаёт новый пустой объект одинарной точности Path2D с указанным правилом обхода и заданной начальной ёмкостью для хранения сегментов траектории. Это число является приблизительной оценкой количества сегментов траектории, которые будут добавлены к траектории, но хранилище расширяется по мере необходимости для хранения добавляемых сегментов траектории.
- Параметры:
-
rule- правило обхода -
initialCapacity- оценка количества сегментов траектории в траектории - С тех пор:
- 1.6
- См. также:
-
Path2D.WIND_EVEN_ODD,Path2D.WIND_NON_ZERO
Float
public Float(Shape s)
Создаёт новый объект одинарной точности Path2D из произвольного объекта Shape. Вся начальная геометрия и правило обхода для этой траектории взяты из указанного объекта Shape.
- Параметры:
-
s- указанный объектShape - С тех пор:
- 1.6
Float
public Float(Shape s,
AffineTransform at) Создаёт новый объект одинарной точности Path2D из произвольного объекта Shape, преобразованного с помощью объекта AffineTransform. Вся начальная геометрия и правило обхода для этой траектории взяты из указанного объекта Shape и преобразуются с помощью указанного объекта AffineTransform.
- Параметры:
-
s- указанный объектShape -
at- указанный объектAffineTransform - С тех пор:
- 1.6
Методы
moveTo
public final void moveTo(double x,
double y) Добавляет точку в траекторию, перемещаясь в указанные координаты с двойной точностью.
- Указано:
-
moveToв классеPath2D - Параметры:
-
x- указанная координата X -
y- указанная координата Y - С версии:
- 1.6
moveTo
public final void moveTo(float x,
float y) Добавляет точку в траекторию, перемещаясь в указанные координаты с плавающей точкой.
Этот метод предоставляет одноточную версию метода двойной точности moveTo() в базовом классе Path2D.
- Параметры:
-
x- указанная координата X -
y- указанная координата Y - С версии:
- 1.6
- См. также:
Path2D.moveTo(double, double)
lineTo
public final void lineTo(double x,
double y) Добавляет точку в траекторию, проводя прямую линию от текущих координат до новых указанных координат с двойной точностью.
- Указано:
-
lineToв классеPath2D - Параметры:
-
x- указанная координата X -
y- указанная координата Y - С версии:
- 1.6
lineTo
public final void lineTo(float x,
float y) Добавляет точку в траекторию, проводя прямую линию от текущих координат до новых указанных координат с плавающей точкой.
Этот метод предоставляет одноточную версию метода двойной точности lineTo() в базовом классе Path2D.
- Параметры:
-
x- указанная координата X -
y- указанная координата Y - С версии:
- 1.6
- См. также:
Path2D.lineTo(double, double)
quadTo
public final void quadTo(double x1,
double y1,
double x2,
double y2) Добавляет кривую сегмент, определяемый двумя новыми точками, в траекторию, рисуя квадратичную кривую, пересекающую как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве квадратичной параметрической контрольной точки. Все координаты указаны с двойной точностью.
- Указано:
-
quadToв классеPath2D - Параметры:
-
x1- координата X квадратичной контрольной точки -
y1- координата Y квадратичной контрольной точки -
x2- координата X конечной точки -
y2- координата Y конечной точки - С версии:
- 1.6
quadTo
public final void quadTo(float x1,
float y1,
float x2,
float y2) Добавляет кривую сегмент, определяемый двумя новыми точками, в траекторию, рисуя квадратичную кривую, пересекающую как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве квадратичной параметрической контрольной точки. Все координаты указаны с плавающей точкой.
Этот метод предоставляет одноточную версию метода двойной точности quadTo() в базовом классе Path2D.
- Параметры:
-
x1- координата X квадратичной контрольной точки -
y1- координата Y квадратичной контрольной точки -
x2- координата X конечной точки -
y2- координата Y конечной точки - С версии:
- 1.6
- См. также:
Path2D.quadTo(double, double, double, double)
curveTo
public final void curveTo(double x1,
double y1,
double x2,
double y2,
double x3,
double y3) Добавляет кривую сегмент, определяемый тремя новыми точками, в траекторию, рисуя кривую Безье, пересекающую как текущие координаты, так и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. Все координаты указаны с двойной точностью.
- Указано:
-
curveToв классеPath2D - Параметры:
-
x1- координата X первой контрольной точки Безье -
y1- координата Y первой контрольной точки Безье -
x2- координата X второй контрольной точки Безье -
y2- координата Y второй контрольной точки Безье -
x3- координата X конечной точки -
y3- координата Y конечной точки - С версии:
- 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
- См. также:
Path2D.curveTo(double, double, double, double, double, double)
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()
Возвращает прямоугольник с высокой точностью и большей точностью, чем метод 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
- См. также:
Shape.getBounds()
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:
Cloneable
© 1993, 2020, 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/11/docs/api/java.desktop/java/awt/geom/Path2D.Float.html