Класс 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 Методы, унаследованные от класса 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 не повлияют на уже выполняющиеся итерации по этой геометрии.
- Определено в:
-
getPathIteratorв интерфейсеShape - Параметры:
-
at- необязательноеAffineTransform, которое будет применено к координатам по мере их возвращения в процессе итерации, илиnullесли требуются непротрансформированные координаты - Возвращает:
- новый объект
PathIterator, который независимо проходит по геометрииShape. - С:
- 1.6
clone
public final Object clone()
Создаёт новый объект того же класса, что и этот объект.
- Определено в:
-
cloneв классеPath2D - Возвращает:
- клон этого экземпляра.
- Исключения:
-
OutOfMemoryError- если памяти недостаточно. - С:
- 1.6
- См. также:
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.