В случае, если кто-то задается вопросом, как реализовать ответ Альнитака на практике, вы идете:
CSS:
@media all and (orientation:portrait) {
#myCanvas {
-webkit-transform: rotate(270deg)
}
}
В качестве альтернативы вы можете использовать отдельные файлы CSS, если хотите.
Чтобы синхронизировать систему координат холста с этим, вы можете использовать что-то вроде этого:
ctx.save();
...
if(window.orientation == 0 || window.orientation == 180) {
ctx.translate(canvasWidth, 0);
ctx.rotate(Math.PI / 2);
}
...
ctx.restore();
Могут быть и другие способы достижения того же результата, но, похоже, это работает нормально длямне.Обратите внимание, что это хорошая идея для сохранения / восстановления состояния контекста, чтобы не испортить его при повороте.