Javascript html2canvas图像未渲染
使用html2canvas时,我在输出分区中渲染图像时遇到问题。我确实读到图像必须位于同一原点下。因此,我将图像放在与html相同的目录下 不幸的是,控制台日志中没有错误 我附加了一个提琴,我不确定图像是否能与外部url正常工作,但它给出了我希望实现的jist 我的本地代码看起来有点像这样:Javascript html2canvas图像未渲染,javascript,image,canvas,render,html2canvas,Javascript,Image,Canvas,Render,Html2canvas,使用html2canvas时,我在输出分区中渲染图像时遇到问题。我确实读到图像必须位于同一原点下。因此,我将图像放在与html相同的目录下 不幸的是,控制台日志中没有错误 我附加了一个提琴,我不确定图像是否能与外部url正常工作,但它给出了我希望实现的jist 我的本地代码看起来有点像这样: html2canvas(document.body, { onrendered: function(canvas) { document.body.appendChild(canva
html2canvas(document.body, {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
$("#btnSave").click(function() {
html2canvas($("#widget"), {
onrendered: function(canvas) {
theCanvas = canvas;
document.body.appendChild(canvas);
// Convert and download as image
Canvas2Image.saveAsPNG(canvas);
$("#img-out").append(canvas);
// Clean up
//document.body.removeChild(canvas);
}
});
<div id="widget">
<h1>test</h1>
<img src="dropboxlogo.jpg"/>
</div>
有点太晚了,但解决方案是将所有图像传输到base64
function toDataUrl(src, callback, outputFormat) {
var img = new Image();
img.crossOrigin = 'Anonymous';
img.onload = function() {
var canvas = document.createElement('CANVAS');
var ctx = canvas.getContext('2d');
var dataURL;
canvas.height = this.height;
canvas.width = this.width;
ctx.drawImage(this, 0, 0);
dataURL = canvas.toDataURL(outputFormat);
callback(dataURL);
};
img.src = src;
if (img.complete || img.complete === undefined) {
img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";
img.src = src;
}
}
在0.4.1版本之后,您遇到的问题已得到修复。示例:所以如果我只是更新我的库,它应该是好的?是的,假设图像是相同的-origin@MichaelBole你找到解决办法了吗?