Я хочу нарисовать полукомпозитный элемент на холсте, повернутый без вращения холста, так что мне не нужно вычислять все различные точки x/y элемента.Нарисовать повернутый элемент на холсте
Я думаю, что основной процесс мне нужно использовать это:
- перевести 0,0 точку на месте нарисованный элемент будет вращаться вокруг,
- вращать холст,
- ничья элемент,
- Вращение холста назад,
- восстановить исходную точку.
Мне нужно будет сделать это более одного раза. Я читал, что вращающаяся/вращающаяся задняя часть может ввести некоторую ошибку, при этом конечное изображение отключается немного. Есть ли способ избежать этого?
Нам нужен код. Сделайте хорошую попытку и придите сюда, когда застрянете. – user2867288
Я бы посмотрел на 'ctx.save()' и 'ctx.restore()' - они не сохраняют/не восстанавливают пиксели, а скорее внутреннее состояние. Матрица преобразования является одной из затронутых вещей. :) Подробнее см. Здесь: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Transformations#A_save_and_restore_canvas_state_example – enhzflep
Вы не предоставили нам достаточно контекста, чтобы помочь вам. Дайте нам дополнительную информацию или какой-нибудь код! Но в целом рабочий процесс html5 заключается в следующем: нарисовать что-то, стереть холст, вычислить новые позиции, перерисовать что-то в своих новых позициях. Ваша теория о вращении что-то оправа: переведите в точку поворота, поверните, нарисуйте что-нибудь (обычно со смещением), unrotate, untranslated. Если вам нужно многократно вращаться, вы можете поместить команды преобразования внутри функции для удобства повторного использования. – markE