2015-10-07 66 views
2

的圖像我使用HTML2Canvas轉換我DIV爲PNG。它進展順利,但是當我的DIV大於屏幕時,屏幕中僅顯示DIV的可見部分。呈現一個DIV是大於屏幕使用HTML2Canvas

有任何解決方法,所以我可以使整個DIV到圖像?

這裏是我的代碼:

html2canvas(divDrop, { 
    onrendered: function (canvas) { 
     imgMap.style.display = ""; 
     imgMap.src = canvas.toDataURL("image/png"); 
    }, 
    width: divDrop.clientWidth, 
    height: divDrop.clientHeight 
}); 
+1

你檢查'clientWidth '和'clientHeight'屬性?這些尺寸是否正確? – xxxmatko

+0

是的,我查過他們,他們是我的DIV –

+0

的電流大小所以你的DIV的客戶端大小比窗口大小時,畫布的其餘部分用白色填充顏色?當你改變窗口的大小時,它正在複製窗口大小? – xxxmatko

回答

3

正如在評論中所描述的,我張貼下面的工作鏈接:

JSFiddle example

$(function() { 
    $("#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); 
      } 
     }); 
    }); 
});