Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html2canvas图像未渲染_Javascript_Image_Canvas_Render_Html2canvas - Fatal编程技术网

Javascript html2canvas图像未渲染

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时,我在输出分区中渲染图像时遇到问题。我确实读到图像必须位于同一原点下。因此,我将图像放在与html相同的目录下

不幸的是,控制台日志中没有错误

我附加了一个提琴,我不确定图像是否能与外部url正常工作,但它给出了我希望实现的jist

我的本地代码看起来有点像这样:

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你找到解决办法了吗?