Увеличение и уменьшение на холсте - PullRequest
0 голосов
/ 25 августа 2011

Я написал приложение для рисования, используя элемент холста HTML5.

Теперь я хочу дать пользователю возможность увеличивать и уменьшать масштаб во время рисования.

Как я могу это сделать?

1 Ответ

2 голосов
/ 25 августа 2011

Есть несколько способов. Это действительно зависит от того, что вы ищете.

Вы можете сделать это, масштабируя весь контекст, как в ctx.scale(2,2), а затем перерисовывая все в этом большем масштабе. Некоторые нарисованные объекты, такие как пути и текст, будут изящно масштабироваться. Для этого вам нужно следить за всем, что нарисовано до сих пор.

Другой способ - взять весь холст и вернуть его себе. Это требует временного холста, потому что операция действительно: отрисовать на временный холст, очистить основной, отрисовать обратно в основной масштаб.

Другой способ - использовать CSS-преобразования для простого масштабирования самого холста, что сделает изображение размытым (увеличенным!), Но не требует изменения каких-либо пикселей уже на холсте.

...