Если это будет код, который вы будете поддерживать позже, то на вашем месте я написал бы свой собственный.
Я выполнил эту задачу раньше, но не могу поделиться, так как это личное.
Обратите внимание на следующие вопросы, вы, вероятно, встретите
изображение на холсте
увеличение / уменьшение масштаба на холсте
предварительная загрузка изображений / страниц / ресурсов для повышения производительности, ноне злоупотреблять памятью
удалять старые узлы после того, как они не используются
, если одним из целевых браузеров является IE - обратите на это дополнительное вниманиепотому что это может превратиться в ад.В IE6 по умолчанию используется интерполяция в ближнем соседстве - текст становится нечитаемым.
Возможно, он не отвечает на ваш вопрос напрямую, но, вероятно, дает представление о низкоуровневой задаче.