Да, проблема в том, что вы не восстанавливаете масштаб холста до 1,1 после того, как рисуете изображение, так что в основном при первом вызове события ваша шкала холста будет превращена в -1,1, следующийвремя будет 1,1, но нужно, чтобы оно всегда было -1,1.Это потому, что вы рисуете изображение непосредственно с холста, а не из элемента изображения, поэтому вам нужно будет каждый раз переворачивать его.
Попробуйте использовать ctx.save()
до масштабирования и ctx.restore()
после рисованияобраз.Или снова позвоните ctx.scale(-1, 1)
после рисования изображения.Или вы можете просто выполнить масштабирование вне события (но после того, как вы впервые нарисовали изображение на холсте), если ваш холст используется только для этого.