简体   繁体   English

HTML到图像到Base64

[英]HTML To Image To Base64

I am struggling with this situation, where I have some HTML markup in a JavaScript variable. 我正在努力解决这种情况,我在JavaScript变量中有一些HTML标记。

What I want is, to convert the value of that variable into an image and get the base64 value: 我想要的是,将该变量的值转换为图像并获取base64值:

var print_markup = '';
print_markup += '<h2 style="text-align:center">' + $scope.config.business_name + '</h2>';
print_markup += '<p style="text-align:center">' + $scope.config.business_address + '</p>';

I tried this html2canvas but it needs a dom element as its argument not an HTML string, or I am not using it right. 我尝试了这个html2canvas,但它需要一个dom元素作为其参数而不是HTML字符串,或者我没有正确使用它。

html2canvas(print_markup, {
    onrendered: function(canvas) {
        var dataURL = canvas.toDataURL();
        var base64String = dataURL.split(',')[1];

   }
})

But I get this: 但我明白了:

html2canvas.js:592 Uncaught (in promise) Proxy must be used when rendering url html2canvas.js:592 Uncaught(in promise)渲染url时必须使用代理

Please refer the link : here 请参考链接: 这里

var node = document.getElementById('my-node');

domtoimage.toPng(node)
    .then (function (dataUrl) {
        var img = new Image();
        img.src = dataUrl;
        document.appendChild(img);
    })
    .catch(function (error) {
        console.error('oops, something went wrong!', error);
    });

正如@Kaiido建议的那样, html2canvas的第一个参数是一个附加到原始文档的元素 ,有关更多信息,请参阅此html2canvas

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM