如何利用html2canvas 将html代码转为图片


本文摘自PHP中文网,作者不言,侵删。

这篇文章主要介绍了关于如何利用html2canvas 将html代码转为图片,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

html2canvas,这是一个非常著名的从浏览器网页截图的开源库,使用很方便,功能也很强大。这

转换代码到图片使用

html2canvas,这是一个非常著名的从浏览器网页截图的开源库,使用很方便,功能也很强大。

使用 html2canvas

html2canvas 的使用非常简单,简单到只需要传入一个 DOM 元素,然后通过回调拿到 canvas:

在实际使用的时候,有两个注意点:

1.html2canvas 通过解析元素实际的样式来生成 canvas 图片内容,因此它对元素实际的布局和视觉显示有要求。如果要完整截图,最好将元素从文档流中独立出来(例如 position:absolute)

2.默认生成的 canvas 图片在 retina 设备上显示很模糊,处理成 2 倍图能解决这个问题:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

var w = $("#code").width(); 

var h = $("#code").height();//要将 canvas 的宽高设置成容器宽高的 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");//然后将画布缩放,将图像放大两倍画到画布上 

    context.scale(2,2); 

    html2canvas(document.querySelector("#code"), {         

canvas: canvas,        

 onrendered: function(canvas)

{                ...       

  }   

});

使用 html2canvas的实际案例

1.html代码结构

1

2

3

4

5

<section class="share_popup" id="html2canvas"

<p>html2canvas 的使用非常简单,简单到只需要传入一个 DOM 元素,然后通过回调拿到 canvas</p

<p><img src="1.jpg"></p

<p>html2canvas 的使用非常简单,简单到只需要传入一个 DOM 元素,然后通过回调拿到 canvas</p

 </section>

2.js代码结构

1

2

3

4

5

6

7

8

9

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); 

    

});

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

javascript html5 canvas实现可拖动省份的中国地图

HTML5 canvas基本绘图之绘制线条

以上就是如何利用html2canvas 将html代码转为图片的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

html2canvas把div保存图片高清图(图文教程)

如何利用html2canvas 将html代码转为图片

html5使用html2canvas实现浏览器截图

html2canvas把div保存高清图的方法代码

html 基于 canvas 实现截图的介绍

更多相关阅读请进入《html2canvas》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...