Spec-Zone.ru › OpenJDK 21

Класс BasicStroke

java.lang.Object
java.awt.BasicStroke
Все реализованные интерфейсы:
Stroke
public class BasicStroke extends Object implements Stroke
Класс BasicStroke определяет базовый набор атрибутов отрисовки контуров графических примитивов, которые отрисовываются с помощью объекта Graphics2D, у которого атрибут Stroke установлен на этот объект BasicStroke. Атрибуты отрисовки, определённые BasicStroke, описывают форму отметки, создаваемой пером, проведенным по контуру Shape, и декорации, применяемые к концам и соединениям сегментов пути Shape. Эти атрибуты отрисовки включают в себя:
ширина
Ширина пера, измеряемая перпендикулярно траектории пера.
закрытия концов
Декорация, применяемая к концам незамкнутых подпутей и сегментов штриховки. Подпути, начинающиеся и заканчивающиеся в одной точке, всё ещё считаются незамкнутыми, если у них нет сегмента CLOSE. См. SEG_CLOSE для получения дополнительной информации о сегменте CLOSE. Три различных декорации: CAP_BUTT, CAP_ROUND и CAP_SQUARE.
соединения линий
Декорация, применяемая на пересечении двух сегментов пути и на пересечении конечных точек подпути, который закрыт с помощью SEG_CLOSE. Три различные декорации: JOIN_BEVEL, JOIN_MITER и JOIN_ROUND.
предел сглаживания
Предел для обрезки соединения линий, имеющего декорацию JOIN_MITER. Соединение линий обрезается, когда отношение длины сглаживания к ширине штриха больше значения предела сглаживания. Длина сглаживания — это диагональная длина сглаживания, которая представляет собой расстояние между внутренним углом и внешним углом пересечения. Чем меньше угол, образуемый двумя сегментами линии, тем длиннее длина сглаживания и острее угол пересечения. Значение предела сглаживания по умолчанию 10.0f приводит к обрезке всех углов меньше 11 градусов. Обрезка сглаживаний преобразует декорацию соединения линий в обрез.
атрибуты штриховки
Определение того, как создавать узор штриховки путём чередования непрозрачных и прозрачных участков.
Все атрибуты, определяющие измерения и расстояния, контролирующие форму возвращённого контура, измеряются в той же системе координат, что и исходный аргумент Shape. Когда объект Graphics2D использует объект Stroke для переопределения пути во время выполнения одного из его методов draw, геометрия предоставляется в исходном виде до применения атрибута преобразования Graphics2D. Поэтому атрибуты, такие как ширина пера, интерпретируются в системе координат пространства пользователя объекта Graphics2D и подчиняются эффектам масштабирования и сдвига преобразования из пространства пользователя в пространство устройства в этом конкретном Graphics2D. Например, ширина контура отрисованной фигуры определяется не только атрибутом ширины этого объекта BasicStroke, но и атрибутом преобразования объекта Graphics2D. Рассмотрим этот код:

      // sets the Graphics2D object's Transform attribute
      g2d.scale(10, 10);
      // sets the Graphics2D object's Stroke attribute
      g2d.setStroke(new BasicStroke(1.5f));
 
Предполагая, что к объекту Graphics2D не добавлены другие преобразования масштабирования, результирующая линия будет приблизительно 15 пикселей в ширину. Как показывает пример кода, плавающая линия обеспечивает лучшую точность, особенно при использовании больших преобразований с объектом Graphics2D. Когда линия диагональная, точная ширина зависит от того, как процесс отрисовки выбирает пиксели для заполнения при прослеживании теоретически расширенного контура. Выбор пикселей, которые включить, зависит от атрибута антиалиасинга, поскольку процесс антиалиасинга может выбрать окраску частично перекрытых пикселей.

Для получения дополнительной информации о системе координат пространства пользователя и процессе отрисовки см. комментарии к классу Graphics2D.

См. также:
  • Graphics2D

Краткое описание полей

Модификатор и тип Поле Описание
static final int CAP_BUTT
Закрывает незамкнутые подпути и сегменты штриховки без добавления декораций.
static final int CAP_ROUND
Закрывает незамкнутые подпути и сегменты штриховки с закруглением, радиус которого равен половине ширины пера.
static final int CAP_SQUARE
Закрывает незамкнутые подпути и сегменты штриховки квадратным выступом, который выходит за пределы конца сегмента на расстояние, равное половине ширины линии.
static final int JOIN_BEVEL
Соединяет сегменты пути, соединяя внешние углы их широких контуров прямым сегментом.
static final int JOIN_MITER
Соединяет сегменты пути, продолжая их внешние края до пересечения.
static final int JOIN_ROUND
Соединяет сегменты пути, сглаживая угол радиусом, равным половине ширины линии.

Краткое описание конструкторов

Конструктор Описание
BasicStroke()
Создаёт новый объект BasicStroke с настройками по умолчанию для всех атрибутов.
BasicStroke(float width)
Создаёт твёрдую линию BasicStroke с заданной шириной линии и значениями по умолчанию для стилей окончания и соединения.
BasicStroke(float width, int cap, int join)
Создаёт твёрдую линию BasicStroke с заданными атрибутами.
BasicStroke(float width, int cap, int join, float miterlimit)
Создаёт твёрдую линию BasicStroke с заданными атрибутами.
BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)
Создаёт новый объект BasicStroke с заданными атрибутами.

Краткое описание методов

Модификатор и тип Метод Описание
Shape createStrokedShape(Shape s)
Возвращает Shape , внутренняя часть которого определяет очертания штриха заданного объекта Shape.
boolean equals(Object obj)
Проверяет, равен ли указанный объект этому BasicStroke , сначала проверяя, является ли он BasicStroke , а затем сравнивая его ширину, соединение, окончание, предел сглаживания, штрихи и фазу штриховки с атрибутами этого BasicStroke.
float[] getDashArray()
Возвращает массив, представляющий длины сегментов штриховки.
float getDashPhase()
Возвращает текущую фазу штриховки.
int getEndCap()
Возвращает стиль окончания.
int getLineJoin()
Возвращает стиль соединения.
float getLineWidth()
Возвращает ширину линии.
float getMiterLimit()
Возвращает предел сглаживания соединений.
int hashCode()
Возвращает хэш-код для этого штриха.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

JOIN_MITER

@Native public static final int JOIN_MITER
Соединяет сегменты пути, продлевая их внешние края до пересечения.
См. также:
  • Значения константных полей

JOIN_ROUND

@Native public static final int JOIN_ROUND
Соединяет сегменты пути, скругляя угол радиусом, равным половине ширины линии.
См. также:
  • Значения константных полей

JOIN_BEVEL

@Native public static final int JOIN_BEVEL
Соединяет сегменты пути, соединяя внешние углы их широких контуров прямым отрезком.
См. также:
  • Значения константных полей

CAP_BUTT

@Native public static final int CAP_BUTT
Заканчивает незамкнутые подпути и сегменты штриховки без дополнительного декора.
См. также:
  • Значения константных полей

CAP_ROUND

@Native public static final int CAP_ROUND
Заканчивает незамкнутые подпути и сегменты штриховки скруглением, радиус которого равен половине ширины пера.
См. также:
  • Значения константных полей

CAP_SQUARE

@Native public static final int CAP_SQUARE
Заканчивает незамкнутые подпути и сегменты штриховки квадратным выступом, который выходит за пределы конца сегмента на расстояние, равное половине ширины линии.
См. также:
  • Значения константных полей

Подробное описание конструкторов

BasicStroke

@ConstructorProperties({"lineWidth","endCap","lineJoin","miterLimit","dashArray","dashPhase"}) public BasicStroke(float width, int cap, int join, float miterlimit, float[] dash, float dash_phase)
Создает новый BasicStroke со специфицированными атрибутами.
Параметры:
width - ширина этого BasicStroke. Ширина должна быть больше или равна 0.0f. Если ширина равна 0.0f, штрих отображается как наиболее тонкая возможная линия для целевого устройства и установки параметра сглаживания.
cap - декор концов BasicStroke
join - декор, применяемый в местах соединения сегментов пути
miterlimit - предел для обрезки соединения типа митёр. Предел митёра должен быть больше или равен 1.0f.
dash - массив, представляющий узор штриховки
dash_phase - смещение для начала узора штриховки
Исключения:
IllegalArgumentException - если width отрицательно
IllegalArgumentException - если cap не равно CAP_BUTT, CAP_ROUND или CAP_SQUARE
IllegalArgumentException - если miterlimit меньше 1, и join равно JOIN_MITER
IllegalArgumentException - если join не равно JOIN_ROUND, JOIN_BEVEL или JOIN_MITER
IllegalArgumentException - если dash_phase отрицательно, и dash не равно null
IllegalArgumentException - если длина dash равна нулю
IllegalArgumentException - если все длины штрихов равны нулю.

BasicStroke

public BasicStroke(float width, int cap, int join, float miterlimit)
Создает сплошной BasicStroke со специфицированными атрибутами.
Параметры:
width - ширина BasicStroke
cap - декор концов BasicStroke
join - декор, применяемый в местах соединения сегментов пути
miterlimit - предел для обрезки соединения типа митёр
Исключения:
IllegalArgumentException - если width отрицательно
IllegalArgumentException - если cap не равно CAP_BUTT, CAP_ROUND или CAP_SQUARE
IllegalArgumentException - если miterlimit меньше 1, и join равно JOIN_MITER
IllegalArgumentException - если join не равно JOIN_ROUND, JOIN_BEVEL или JOIN_MITER

BasicStroke

public BasicStroke(float width, int cap, int join)
Создаёт сплошной BasicStroke со специфицированными атрибутами. Параметр miterlimit не нужен в случаях, когда допускается значение по умолчанию или соединения линий не заданы как JOIN_MITER.
Параметры:
width - ширина BasicStroke
cap - декор концов BasicStroke
join - декор, применяемый в местах соединения сегментов пути
Исключения:
IllegalArgumentException - если width отрицательно
IllegalArgumentException - если cap не равно CAP_BUTT, CAP_ROUND или CAP_SQUARE
IllegalArgumentException - если join не равно JOIN_ROUND, JOIN_BEVEL или JOIN_MITER

BasicStroke

public BasicStroke(float width)
Создает сплошной BasicStroke со специфицированной шириной линии и значениями по умолчанию для стилей обрезки и соединения.
Параметры:
width - ширина BasicStroke
Исключения:
IllegalArgumentException - если width отрицательно

BasicStroke

public BasicStroke()
Создает новый BasicStroke со значениями по умолчанию для всех атрибутов. Атрибуты по умолчанию — сплошная линия шириной 1.0, CAP_SQUARE, JOIN_MITER, предел митёра 10.0.

Подробное описание методов

createStrokedShape

public Shape createStrokedShape(Shape s)
Возвращает Shape , внутренняя часть которого определяет нанесённый штрихом контур указанной Shape.
Унаследованно от:
createStrokedShape в интерфейсе Stroke
Параметры:
s - граница Shape для нанесения штриха
Возвращает:
контур нанесённого штрихом контура.
Исключения:
NullPointerException - если s null

getLineWidth

public float getLineWidth()
Возвращает ширину линии. Ширина линии представлена в пространстве пользователя, которое является пространством координат по умолчанию, используемым Java 2D. См. комментарии к классу Graphics2D для получения дополнительной информации о системе координат пространства пользователя.
Возвращает:
ширину линии этого BasicStroke.
См. также:
  • Graphics2D

getEndCap

public int getEndCap()
Возвращает стиль окончания.
Возвращает:
стиль окончания этого BasicStroke как одно из статических int значений, определяющих возможные стили окончания.

getLineJoin

public int getLineJoin()
Возвращает стиль соединения линий.
Возвращает:
стиль соединения линий BasicStroke как одно из статических int значений, определяющих возможные стили соединения линий.

getMiterLimit

public float getMiterLimit()
Возвращает предел соединений типа митёр.
Возвращает:
предел соединений типа митёр BasicStroke.

getDashArray

public float[] getDashArray()
Возвращает массив, представляющий длины сегментов штриховки. Альтернативные элементы массива представляют длины непрозрачных и прозрачных сегментов штрихов в пространстве пользователя. По мере перемещения пера по контуру Shape для нанесения штриха накапливается расстояние в пространстве пользователя, которое пройдёт перо. Значение расстояния используется для индексирования в массиве штриховки. Перо непрозрачно, когда текущее накопленное расстояние отображается на чётном элементе массива штриховки, и прозрачно в противном случае.
Возвращает:
массив штриховки.

getDashPhase

public float getDashPhase()
Возвращает текущую фазу штриховки. Фаза штриховки — это расстояние, указанное в координатах пользователя, которое представляет смещение в узор штриховки. Другими словами, фаза штриховки определяет точку в узоре штриховки, которая будет соответствовать началу штриха.
Возвращает:
фазу штриховки как значение float.

hashCode

public int hashCode()
Возвращает хешкод для этого штриха.
Переопределяет:
hashCode в классе Object
Возвращает:
хешкод для этого штриха.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)
Проверяет, равен ли указанный объект этому BasicStroke, сначала проверив, является ли он BasicStroke, а затем сравнив его атрибуты ширины, соединения, закругления, предельного значения скругления, тире и фазы тире с соответствующими атрибутами этого BasicStroke.
Overrides:
equals в классе Object
Параметры:
obj - указанный объект для сравнения с этим BasicStroke
Возвращает:
true если ширина, тип соединения, тип закругления, предельное значение скругления, тип тире и фаза тире одинаковы для обоих объектов; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

© 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/BasicStroke.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API