当我们使用html2canvas截取屏幕截图时,具有.svg扩展名的图像将无法正常呈现。我试过给allowTaint:true选项,但它仍然没有用。
代码段:
<div class="myDiv" style="background-image:url('image.svg');">
</div>
html2canvas($(".myDiv"), {
allowTaint: true,
onrendered: function (canvas){
//use canvas
}
});
答案 0 :(得分:0)
$(".myDiv").each(function () {
var url = $(this).css("background-image")
var src = url.substring(5, url.length - 2);
var image = new Image();
image.src = src;
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
ctx.canvas.width = $(this).height();
ctx.canvas.height = $(this).width();
ctx.drawImage(image, 0, 0);
$(this).append(canvas);
});
这仅适用于可以用img标签替换div标签的情况。