Javascript 将图像转换为Base64的HTML
我正在与这种情况作斗争,在JavaScript变量中有一些HTML标记 我想要的是,将该变量的值转换为图像,并获得base64值:Javascript 将图像转换为Base64的HTML,javascript,angularjs,image,base64,html2canvas,Javascript,Angularjs,Image,Base64,Html2canvas,我正在与这种情况作斗争,在JavaScript变量中有一些HTML标记 我想要的是,将该变量的值转换为图像,并获得base64值: var print_markup = ''; print_markup += '<h2 style="text-align:center">' + $scope.config.business_name + '</h2>'; print_markup += '<p style="text-align:center">' + $sc
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>';
但我明白了:
html2canvas.js:592未捕获(承诺中)代理在呈现url时必须使用
请参阅以下连结:
请参阅以下连结:
正如@kaido所建议的,
html2canvas
的第一个参数是附加到原始文档中的元素,
如需更多信息,请参见此,正如@kaido所建议的那样,
html2canvas
的第一个参数是一个元素,附加到原始文档中,
有关更多信息,请参见此HTML2Canvas需要
ownerDocument.defaultView
,因此您的元素实际上必须是当前DOM的一部分。感谢@kaido,我将元素附加到了它们的主体中,并且有效。HTML2Canvas需要ownerDocument.defaultView
,因此,您的元素实际上必须是当前DOM的一部分。感谢@kaido,我将该元素附加到了它们的主体中,并且它起了作用。不支持IE。不支持IE。
html2canvas(print_markup, {
onrendered: function(canvas) {
var dataURL = canvas.toDataURL();
var base64String = dataURL.split(',')[1];
}
})
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);
});