网页端截屏

1. 最开始选用的是html2canvas,但是我截屏的网页有iconfont字体,还有视频,用html2canvas截屏下来字体和视频是显示不完整的,所以就放弃了用这个。

2. 选用了domtoimage。

     vue使用 npm install domtoimage --save 

3

    import domtoimage from "dom-to-image";

     domtoimage.toJpeg(你要截屏的dom节点).then((dataURL) => {

        if (dataURL) {

            let alink = document.createElement("a");  // 这里是下载

            alink.href = dataURL;

            alink.download = "downloadImage.png";

            alink.click();

         }

      });

. 用domtoimage截屏下来的图片,字体是没有问题,但是视频依旧显示不出来。

4.我就使用canvas截视频成图片跟domtoimage结合。

5. canvas有个drawImage()方法可以在画布上绘制图像、画布或视频。 

 const video = document.querySelector("#video");

 const canvas = document.getElementById("picture");

 const ctx = canvas.getContext("2d");

 canvas.width = video.clientWidth;

 canvas.height = video.clientHeight;

 ctx.drawImage(video, 0, 0, video.clientWidth, video.clientHeight);

 const img = canvas.toDataURL("image/png");  // 将生成的canvas转成图片

6. 然后当我截屏的时候我把这张图片覆盖在视频上,截屏完成又隐藏这张图片,这个问题就解决了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值