html2canvas截图问题

阅读: 评论:0

html2canvas截图问题

html2canvas截图问题

填坑填坑 此处填个坑项目中用到了html2canvas来把一个分享的弹窗,合成图片再分享出去,然后因为自己太菜了,掉坑里了一顿折腾,所幸后来填了坑,此篇记录一下,给大伙排坑!!!

如果想更深入学习,可自行查看官网: /

1.安装 npm install --save html2canvas 或者 yarn add html2canvas
2.页面引入 import html2canvas from ‘html2canvas’
3.html2canvas截图不全的问题, 我排查了很久,最后发现是布局的问题,好吧,那只能改

html2canvas 不认识height: 100%,建议更改为100vh,但是要想要两端固定中间滚动的话,中间自适应更好flex:1,这样就实现头部底部固定中间可滑动啦~

html2canvas截图是对整个DOM进行截图
 <img :src="refShareContext" style="border: 1px solid red" alt="" />
const handleClickCreateCanvasImg = () => {const shareContextDom = document.querySelector('.share-context')! as HTMLElementreturn html2canvas(shareContextDom, {scrollY: 0,useCORS: true,scale: window.devicePixelRatio,}).then((canvas) => {refShareContext.value = DataURL('image/png', 1.0)// replace('data:image/png;base64,', '') 转base64})}
4.截图图片被拉伸的以及不清晰问题

涉及图片基本处理

归根结底还是因为html2canvas 不认识object-fit: cover;,那么如何实现图片裁剪呢,可以通过用img标签来引入,再用div包裹住img,通过定位处理成和背景一样,这样图片就清晰了,

<div v-for="(item, index) in computedShareListImgClip" :key="index" class="photo-wall__warper--item"><img :src="item.picture + '?imageView2/1/w/588/h/738/q/95'" alt="" />
</div>//?imageView2/1/w/588/h/738/q/95 图片分辨率,让图片更快加载
.photo-wall__warper--item {width: 196px;height: 246px;border-radius: 20px;overflow: hidden;margin-top: 32px;margin-left: 33px;display: flex;justify-content: center;position: relative;img {width: 100%;}}

很简单的操作,我卡了蛮久,总而言之,还是学习的少哈哈哈哈

本文发布于:2024-02-01 00:00:08,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170671680932345.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:截图   html2canvas
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23