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