Демо
Ха, крутая идея, главное, что я думаю, что причиной проблемы был пропущенный restore
. Помните, что вы хотите сделать переводы до поворотов. В противном случае вы будете переводить canvas
, а затем вращать все canvas
, поворачивая все в контексте.