Да, вы можете использовать холст для этого. Рисовать простые формы и масштабировать их довольно просто.
Но если вам нужно отредактировать фигуры после того, как вы их нарисовали, вам придется потратить еще немного работы. Canvas рисует в так называемом «немедленном режиме», что означает, что он не знает, что вы нарисовали сразу после того, как вы его нарисовали. Не отслеживает раскрашенные фигуры. Если вам это нужно, вам придется реализовать это самостоятельно.
Я сделал это с помощью функции isPointInPath()
, которую можно использовать для проверки, нажимает ли пользователь на конкретную точку. Я отслеживаю свои нарисованные объекты, используя MVC-Pattern (Model-View-Controller), чтобы я мог выяснить, на какой фигуре был нажат.
Другой альтернативой может быть fabrics.js, который должен быть очень близок к тому, что вам нужно.