Было бы невероятно полезно смочь временно преобразовать регулярный элемент в a canvas
. Например, скажите, что у меня есть стилизованное div
то, что я хочу зеркально отразить. Я хочу динамично создать холст, "представить" HTMLElement
в холст скройте исходный элемент и анимируйте холст.
Это может быть сделано?
К сожалению, браузер не отображает HTML на холсте.
Это было бы потенциальной угрозой безопасности, если бы вы могли, поскольку HTML может включать контент (в частности, изображения и фреймы) со сторонних сайтов. Если холст
мог превратить HTML-контент в изображение, а затем вы прочитали данные изображения, вы потенциально могли бы извлечь привилегированный контент с других сайтов.
Чтобы получить холст из HTML, вам придется написать собственное средство визуализации HTML с нуля, используя drawImage
и fillText
, что является потенциально огромной задачей. Здесь есть одна такая попытка , но она немного хитрая и далека от завершения. (Он даже пытается разобрать HTML / CSS с нуля, что я считаю безумием! Было бы проще начать с реального узла DOM с примененными стилями и прочитать стили, используя getComputedStyle
и относительные позиции частей с помощью offsetTop
и др.)