javascript
  • angularjs
  • image
  • base64
  • html2canvas
  • 2017-02-04 159 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更多信息

    相關問題