轉(zhuǎn)換代碼到圖片使用
html2canvas,這是一個(gè)非常著名的從瀏覽器網(wǎng)頁(yè)截圖的開(kāi)源庫(kù),使用很方便,功能也很強(qiáng)大。
使用 html2canvas
html2canvas 的使用非常簡(jiǎn)單,簡(jiǎn)單到只需要傳入一個(gè) DOM 元素,然后通過(guò)回調(diào)拿到 canvas:
在實(shí)際使用的時(shí)候,有兩個(gè)注意點(diǎn):
1.html2canvas 通過(guò)解析元素實(shí)際的樣式來(lái)生成 canvas 圖片內(nèi)容,因此它對(duì)元素實(shí)際的布局和視覺(jué)顯示有要求。如果要完整截圖,最好將元素從文檔流中獨(dú)立出來(lái)(例如 position:absolute)
2.默認(rèn)生成的 canvas 圖片在 retina 設(shè)備上顯示很模糊,處理成 2 倍圖能解決這個(gè)問(wèn)題:
var w = $("#code").width();
var h = $("#code").height();//要將 canvas 的寬高設(shè)置成容器寬高的 2 倍
var canvas = document.createElement("canvas");
canvas.width = w * 2;
canvas.height = h * 2;
canvas.style.width = w + "px";
canvas.style.height = h + "px";
var context = canvas.getContext("2d");//然后將畫(huà)布縮放,將圖像放大兩倍畫(huà)到畫(huà)布上
context.scale(2,2);
html2canvas(document.querySelector("#code"), {
canvas: canvas,
onrendered: function(canvas)
{ ...
}
});
使用 html2canvas的實(shí)際案例
1.html代碼結(jié)構(gòu)
<section class="share_popup" id="html2canvas">
<p>html2canvas 的使用非常簡(jiǎn)單,簡(jiǎn)單到只需要傳入一個(gè) DOM 元素,然后通過(guò)回調(diào)拿到 canvas</p>
<p><img src="1.jpg"></p>
<p>html2canvas 的使用非常簡(jiǎn)單,簡(jiǎn)單到只需要傳入一個(gè) DOM 元素,然后通過(guò)回調(diào)拿到 canvas</p>
</section>
2.js代碼結(jié)構(gòu)
var str = $('#html2canvas');
//console.log(str);
html2canvas([str.get(0)], {
onrendered: function (canvas) {
var image = canvas.toDataURL("image/png");
var pHtml = "<img src="+image+" />";
$('#html2canvas').html(pHtml);
}
});
總結(jié)
以上所述是小編給大家介紹的html2canvas 將html代碼轉(zhuǎn)為圖片的使用方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!