Spec-Zone.ru › OpenJDK 17

Класс 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()
Возвращает хэш-код для этого штриха.
Переопределяет:
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, 2021, 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/17/docs/api/java.desktop/java/awt/BasicStroke.html

Spec-Zone.ru

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