#design-patterns #line #draw #using #paperjs
#дизайн-шаблоны #линия #нарисовать #используя #paperjs
Вопрос:
Это было бы легко, если бы мы использовали прямоугольник для соединения.Поскольку мы использовали точки для рисования контура и задали ширину штриха, чтобы он выглядел как прямоугольник. Может кто-нибудь, пожалуйста, помочь нам нарисовать приведенные ниже 3 шаблона на пути (который состоит всего из 2 точек, соединенных шириной штриха)
Комментарии:
1. Вы хотите прямоугольник с этим шаблоном в качестве фона пути? Или вы хотите, чтобы этот шаблон был штрихом контура?
Ответ №1:
Нет встроенного способа сделать это с Paper.js но вы можете использовать прямоугольник в качестве обтравочной маски, чтобы обойти это.
Вот эскиз, демонстрирующий упрощенное решение, которое вы сможете адаптировать к вашему конкретному варианту использования.
const rectangle = new Path.Rectangle({
from: view.center - [300, 50],
to: view.center [300, 50],
fillColor: 'orange'
});
const spaceBetweenLines = 10;
const height = rectangle.bounds.height;
const totalWidth = rectangle.bounds.width height;
const steps = Math.ceil(totalWidth / spaceBetweenLines);
const linesGroup = new Group();
for (let i = 0; i < steps; i ) {
const x = i * spaceBetweenLines;
const line = new Path.Line({
from: [x, 0],
to: [x height, height],
strokeColor: 'black',
strokeWidth: 2
});
linesGroup.addChild(line);
}
linesGroup.position = rectangle.position;
const clipGroup = new Group({
children: [rectangle.clone(), rectangle, linesGroup],
clipped: true
});