У меня есть элемент холста HTML5, в котором пользователь может динамически перемещать, изменять размер и поворачивать цветную фотографию.
Я бы хотел, чтобы пользователь мог переключаться между оттенками серого и цветом.
Я могу придумать два подхода, но ни один из них не идеален:
1) Повторная визуализация цветного изображения в градациях серого (с использованием попиксельного цикла) при каждом событии изменения размера и поворота (которое может быть несколько раз в секунду)
2) Создайте версию сервера в градациях серого и примените любые преобразования холста к обоим изображениям, но одновременно отображайте только одно из них, в зависимости от выбора переключения.
Может ли кто-нибудь придумать лучшее решение, чем эти два, или, если лучшего решения не существует, угадать, какое из двух будет лучшим выбором?
Обновление: Я реализовал метод, предложенный ниже Phrogz .