Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html2canvas与watermarkjs相结合_Javascript_Html2canvas_Watermark - Fatal编程技术网

Javascript html2canvas与watermarkjs相结合

Javascript html2canvas与watermarkjs相结合,javascript,html2canvas,watermark,Javascript,Html2canvas,Watermark,目前,我正在通过html2canvas在我的页面上制作一个下载按钮,我成功地实现了这一点。但现在我想在下载之前添加一个水印。在快速的谷歌搜索之后,watermarkjs库弹出窗口将水印添加到图像中,但我想在转换之前将其添加到dataURL或画布中。有办法吗 我的非功能代码: var watermarkImage = "https://pravdaovode.cz/wp-content/uploads/2018/07/vodoznak.png"; function getScreen()

目前,我正在通过html2canvas在我的页面上制作一个下载按钮,我成功地实现了这一点。但现在我想在下载之前添加一个水印。在快速的谷歌搜索之后,watermarkjs库弹出窗口将水印添加到图像中,但我想在转换之前将其添加到dataURL或画布中。有办法吗

我的非功能代码:

    var watermarkImage = "https://pravdaovode.cz/wp-content/uploads/2018/07/vodoznak.png";

function getScreen() {
    html2canvas(div_box).then(function(canvas) {
        if ('msToBlob' in canvas) {
        var blob = canvas.msToBlob();
        navigator.msSaveBlob(blob, 'pravda_o_vode_cenova_mapa.jpg');
    } 

        else {
            var a = document.createElement('a');
                a.setAttribute('href', watermark([canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream"), watermarkImage]));
                a.setAttribute('target', '_blank');
                a.setAttribute('download', 'pravda_o_vode_cenova_mapa.jpg');
                a.style.display = 'none';
            document.body.appendChild(a);
                a.click();
            document.body.removeChild(a);
        }

    });

}

发布你的完整代码好吧,没有更多了。。。div_框是屏幕截图页面的一部分,该函数由按钮调用。当然还有指向库的链接。好吧,我不确定,但请看看如何将dataurl转换为对象URL,然后尝试将其传递给水印。提示:。好的,我会试试,谢谢您的建议。