В спецификации Canvas ничего не сказано о том, что изображения должны кэшироваться.
Для холста вам уже нужен HTML-элемент Image. Единственный способ взаимодействия с холстом - это вызов .drawImage () для контекста холста.
Там нет кэширования или сохранения после этого события. Холст печатает пиксели изображения на себя, а затем забывает, что что-нибудь когда-либо происходило. Нет истории, нет кэширования.
Вы можете легко нарисовать (без импорта) черно-прозрачный png на холсте, а затем легко изменить черный цвет на другой.
Вы бы изменили globalCompositeOperation контекста холста на «source-atop», а затем заполнили пространство изображения выбранным цветом.
Вы могли бы сделать то же самое, если бы оно было черно-белым вместо черно-прозрачного, но для этого потребовалось бы больше работы.