javascript
  • angularjs
  • image
  • base64
  • html2canvas
  • 2017-02-04 155 views 1 likes 
    1

    我在这种情况下挣扎,我在JavaScript变量中有一些HTML标记。HTML To Image To Base64

    我想要的是,该变量的值转换为图像和获取的base64值:

    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但它需要一个DOM元素作为它的参数不是一个HTML字符串,或者我没有正确使用它。

    html2canvas(print_markup, { 
        onrendered: function(canvas) { 
         var dataURL = canvas.toDataURL(); 
         var base64String = dataURL.split(',')[1]; 
    
        } 
    }) 
    

    但我得到这个:

    html2canvas.js:592未捕获的(以诺)代理必须呈现URL

    时使用
    +0

    htm2canvas需要'ownerDocument.defaultView',所以你的元素必须真正是当前DOM的一部分。 – Kaiido

    +0

    谢谢@Kaiido我将这个元素附加到它们的身体上并且工作。 –

    回答

    0

    请参考链接:here

    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); 
        }); 
    
    +0

    不支持IE。 – Kaiido

    0

    由于@Kaiido建议,html2canvas的第一个argume NT是一个元素追加到原文件, 看到这个html2canvas更多信息

    相关问题