Класс Path2D.Double
- java.lang.Object
-
- java.awt.geom.Path2D
-
- java.awt.geom.Path2D.Double
- Все реализованные интерфейсы:
-
Shape,Serializable,Cloneable
- Вложенный класс:
- Path2D
public static class Path2D.Double extends Path2D implements Serializable
Класс Double определяет геометрическую траекторию с координатами, хранящимися в формате с плавающей запятой двойной точности.
- С:
- 1.6
- См. также:
- Сериализованная форма
Вложенные классы
Вложенные классы/интерфейсы, объявленные в классе java.awt.geom.Path2D
Path2D.Double, Path2D.Float Поля
Поля, объявленные в классе java.awt.geom.Path2D
WIND_EVEN_ODD, WIND_NON_ZERO Конструкторы
| Конструктор | Описание |
|---|---|
Double() | Создаёт новый пустой объект двойной точности |
Double(int rule) | Создаёт новый пустой объект двойной точности |
Double(int rule,
int initialCapacity) | Создаёт новый пустой объект двойной точности |
Double(Shape s) | Создаёт новый объект двойной точности |
Double(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) | Добавляет криволинейный сегмент, определяемый тремя новыми точками, к траектории, нарисовав кривую Безье, пересекающую как текущие координаты, так и указанные координаты |
Rectangle2D | getBounds2D() | Возвращает прямоугольник ограничительной рамки |
PathIterator | getPathIterator(AffineTransform at) | Возвращает итератор, который перемещается по границе |
void | lineTo(double x,
double y) | Добавляет точку к траектории, нарисовав прямую линию от текущих координат до новых указанных координат, заданных с двойной точностью. |
void | moveTo(double x,
double y) | Добавляет точку к траектории, переместившись в указанные координаты, заданные с двойной точностью. |
void | quadTo(double x1,
double y1,
double x2,
double 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 Конструкторы
Double
public Double()
Создаёт новый пустой объект двойной точности Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.
- С:
- 1.6
Double
public Double(int rule)
Создаёт новый пустой объект двойной точности Path2D с указанным правилом обхода для управления операциями, требующими определения внутренней части траектории.
- Параметры:
-
rule- правило обхода - С:
- 1.6
- См. также:
-
Path2D.WIND_EVEN_ODD,Path2D.WIND_NON_ZERO
Double
public Double(int rule,
int initialCapacity) Создаёт новый пустой объект двойной точности Path2D с указанным правилом обхода и заданной начальной ёмкостью для хранения сегментов траектории. Это число является предварительным предположением о количестве сегментов траектории в траектории, но хранилище расширяется по мере необходимости для хранения любых сегментов траектории, добавленных в эту траекторию.
- Параметры:
-
rule- правило обхода -
initialCapacity- оценка количества сегментов траектории в траектории - С:
- 1.6
- См. также:
-
Path2D.WIND_EVEN_ODD,Path2D.WIND_NON_ZERO
Double
public Double(Shape s)
Создаёт новый объект двойной точности Path2D из произвольного объекта Shape. Вся начальная геометрия и правило обхода для этой траектории берутся из указанного объекта Shape.
- Параметры:
-
s- указанный объектShape - С:
- 1.6
Double
public Double(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
lineTo
public final void lineTo(double x,
double y) Добавляет точку в путь, рисуя прямую линию от текущих координат до новых указанных координат с двойной точностью.
- Определено:
-
lineToв классеPath2D - Параметры:
-
x- указанная координата X -
y- указанная координата Y - С:
- 1.6
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
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
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
- См. также:
Shape.getBounds()
getPathIterator
public final PathIterator getPathIterator(AffineTransform at)
Возвращает объект-итератор, который проходит по границе Shape и предоставляет доступ к геометрии контура Shape. Если указан необязательный AffineTransform, координаты, возвращаемые во время итерации, преобразуются соответствующим образом.
Каждый вызов этого метода возвращает новый объект-итератор, который обходит геометрию объекта Shape независимо от других объектов-итераторов, используемых одновременно.
Рекомендуется, но не гарантируется, что объекты, реализующие интерфейс Shape, изолируют итерации, которые выполняются, от любых изменений, которые могут произойти в геометрии исходного объекта во время таких итераций.
Итератор для этого класса не является многопоточно-безопасным, что означает, что класс Path2D не гарантирует, что модификации геометрии этого объекта Path2D не повлияют на уже выполняющиеся итерации этой геометрии.
- Определено:
-
getPathIteratorв интерфейсеShape - Параметры:
-
at- объектAffineTransform - Возвращает:
- новый
PathIterator, который проходит по границе этогоShapeи предоставляет доступ к геометрии контура этого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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/geom/Path2D.Double.html