我想将html字符串转换为与此处类似的图像:
html2canvas creates a canvas with a width and height of zero?

但是除了页面上的结果图像,我不想显示其他任何内容。因此,我不能像那里建议的那样简单地将html字符串添加到DOM中。我认为我要实现的目标是可能的,因为html2canvas test console就是那样。

我尝试了以下产生空结果的方法:



var doc = document.implementation.createHTMLDocument();
doc.open();
doc.write("<html><header></header><body><div>test</div></body></html>");
doc.close();

html2canvas(doc.body, {
    onrendered:function(newCanvas) {
        document.body.appendChild(newCanvas);
    }
});

<script src="https://github.com/niklasvh/html2canvas/blob/master/dist/html2canvas.js"></script>





有人可以建议这样做的方法吗?

最佳答案

我知道了。这是the link,它引导我朝正确的方向前进。还值得检查this page的源代码,它说明了这一想法。

我们设置

style="overflow:hidden"


容器的属性,然后将要渲染的内容移到视口之外

style="position:absolute;top:0px;left:3000px;"


希望能对某人有所帮助。

关于javascript - 将html字符串渲染到 Canvas 而不显示html本身,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27983731/

10-09 15:07