html2canvas не обнаруживает изменения

моя цель сравнить два холста

  • используя реакцию
  • использование codemirror в качестве редактора кода.
  • использование html2canvas для преобразования элемента html в холст
  • использование pixelmatch для сравнения

я меняю div (стиль, содержимое и т. д.) с помощью редактора кода (codemirror) и преобразую его в холст, но изменения не влияют, все равно получая тот же результат (Unit8ClampedArray)

      const onRun = async () => {
        const iframe = document.getElementById("preview");
        const task = document.getElementsByClassName("runjs__task")[0];
        const w = parseInt(task.offsetWidth);
        const h = parseInt(task.offsetHeight);
        const img1 = await html2canvas(iframe, { logging: false }).then(function (canvas) {
            return canvas.getContext("2d").getImageData(0, 0, parseInt(iframe.offsetWidth), parseInt(iframe.offsetHeight)).data
        });
        const img2 = await html2canvas(task, { logging: false }).then(function (canvas) {
            return canvas.getContext("2d").getImageData(0, 0, parseInt(task.offsetWidth), parseInt(task.offsetHeight)).data
        });
        console.log(img1);
        console.log(img2);
        comporeImage(img1, img2, w, h);
    };
    const comporeImage = (img1, img2, w, h) => {
        var diff;
        console.log("results",pixelmatch(img1, img2, diff, w, h, { threshold: 0.5 }));
        return pixelmatch(img1, img2, diff, w, h, { threshold: 0.1 });
    }

пример вывода:

      Uint8ClampedArray(311112) [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, …]

0 ответов

Другие вопросы по тегам