Spec-Zone.ru › OpenJDK 24

Класс 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. Соединение обрезается, когда отношение длины фаски к ширине штриха больше, чем значение miterlimit. Длина фаски — это диагональная длина фаски, которая представляет собой расстояние между внутренней и внешней вершиной пересечения. Чем меньше угол, образованный двумя сегментами линий, тем длиннее длина фаски и острее угол пересечения. Значение по умолчанию для miterlimit, равное 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()
Возвращает хэш-код для этого штриха.
Overrides:
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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/BasicStroke.html

Spec-Zone.ru

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