Как я могу нарисовать контрольные точки пути Безье в Java? - PullRequest
2 голосов
/ 28 марта 2010

Я создал кривые Path of Bézier, и он отлично работает, чтобы нарисовать путь. Но я не знаю, как я могу нарисовать контрольные точки вместе с путем. Возможно ли это, или я должен отслеживать их в другой структуре данных?

Обновление: Причина, по которой я хочу рисовать контрольные точки, заключается в том, что я позволю пользователю редактировать кривые, используя маркеры на контрольных точках.

Я создаю путь с помощью:

Path2D.Double path = new Path2D.Double();
path.moveTo(0,0);
path.curveTo(5, 6, 23, 12, 45, 54);
path.curveTo(34, 23, 12, 34, 2, 3);

И рисуем его с помощью:

g2.draw(path);

Я протестировал с PathIterator , как предложено trashgod , но управлять кривыми таким образом будет сложно, если я хочу, чтобы пользователь мог редактировать контрольные точки.

1 Ответ

2 голосов
/ 29 марта 2010

Вы можете получить PathIterator для ссылки на массив координат для каждой точки в Shape. Вы можете использовать их для рисования маркеров изменения размера и контрольных точек вдоль кривой при редактировании. Вот пример редактирования с использованием пользовательской реализации кривой.

...