Обводка (stroke) в Two.js отвечает за визуальное оформление контура фигур. Управление обводкой включает настройку толщины линии, цвета, прозрачности, а также дополнительных параметров, влияющих на стиль отображения.
Каждый графический объект (например, Two.Path,
Two.Rectangle, Two.Circle) обладает набором
свойств, связанных с обводкой.
Толщина линии задаётся свойством linewidth. Значение
указывается в пикселях.
var circle = two.makeCircle(200, 200, 50);
circle.linewidth = 5;
0 делает обводку невидимой.1 визуально утолщают контур.stroke-width.Цвет задаётся через свойство stroke. Поддерживаются
различные форматы:
circle.stroke = 'red';
circle.stroke = '#FF0000';
circle.stroke = 'rgb(255, 0, 0)';
circle.stroke = 'rgba(255, 0, 0, 0.5)';
'blue', 'green')'#00FF00')circle.stroke = 'transparent';
или
circle.noStroke();
Прозрачность управляется свойством opacity, которое
применяется ко всему объекту, включая обводку и заливку:
circle.opacity = 0.5;
0 — полностью прозрачный1 — полностью непрозрачныйЕсли требуется задать прозрачность только обводки, используется
формат rgba:
circle.stroke = 'rgba(255, 0, 0, 0.3)';
Пример комплексной настройки:
var rect = two.makeRectangle(150, 150, 100, 100);
rect.fill = '#EEE';
rect.stroke = 'rgba(0, 0, 255, 0.7)';
rect.linewidth = 8;
rect.opacity = 0.9;
Свойство join управляет тем, как соединяются сегменты
линии:
path.join = 'miter'; // острый угол
path.join = 'round'; // скруглённый
path.join = 'bevel'; // срезанный
Свойство cap определяет вид концов линий:
path.cap = 'butt'; // обрезанный
path.cap = 'round'; // закруглённый
path.cap = 'square'; // квадратный
Two.js поддерживает пунктир через свойство dashes:
line.dashes = [10, 5];
10 — длина штриха5 — длина промежуткаМожно создавать сложные шаблоны:
line.dashes = [5, 3, 2, 3];
При масштабировании объекта:
rect.scale = 2;
толщина обводки также масштабируется. Для сохранения фиксированной
толщины требуется учитывать это вручную, уменьшая
linewidth.
shape.linewidth = 0;
shape.opacity = 0; // скрывает всё, включая обводку
shape.stroke = '255,0,0'; // ошибка
var star = two.makeStar(200, 200, 50, 100, 5);
star.fill = 'yellow';
star.stroke = 'rgba(255, 165, 0, 0.8)';
star.linewidth = 6;
star.join = 'round';
star.cap = 'round';
star.dashes = [8, 4];
two.update();
Если объект находится в группе:
group.add(circle);
group.opacity = 0.5;
то прозрачность применяется ко всем дочерним элементам, включая обводку.
| Свойство | Назначение |
|---|---|
stroke |
Цвет обводки |
linewidth |
Толщина линии |
opacity |
Общая прозрачность |
join |
Соединение сегментов |
cap |
Концы линий |
dashes |
Пунктир |
Гибкость этих параметров позволяет формировать как простые, так и сложные визуальные стили контуров в Two.js, включая имитацию ручного рисования, декоративные линии и интерфейсные элементы.