首页前端开发HTML详解html2canvas截图不能截取圆角图片的解决方案

详解html2canvas截图不能截取圆角图片的解决方案

时间2024-01-24 22:13:35发布访客分类HTML浏览429
导读:收集整理的这篇文章主要介绍了详解html2canvas截图不能截取圆角图片的解决方案,觉得挺不错的,现在分享给大家,也给大家做个参考。 以前我们只能通过其他的截图工具来截取图像。现代浏览器的功能已经越来越强,随着H5的逐渐普及,浏...
收集整理的这篇文章主要介绍了详解html2canvas截图不能截取圆角图片的解决方案,觉得挺不错的,现在分享给大家,也给大家做个参考。

以前我们只能通过其他的截图工具来截取图像。现代浏览器的功能已经越来越强,随着H5的逐渐普及,浏览器本身就可以截图啦。htML2canvas就是这样一款前端插件,它的原理是将Dom节点在Canvas里边画出来。虽然很方便,但有以下限制:

  • 不支持iframe
  • 不支持跨域图片
  • 不能在浏览器插件中使用
  • 部分浏览器上不支持SVG图片
  • 不支持Flash
  • 不支持古代浏览器和IE,如果你想确认是否支持某个浏览器,可以用它访问 http://deerface.sinaapp.com/ 试试 :)

由于我的使用场景很简单,记录一下异常信息,并且异常页面也是由自己定义的,那么html2canvas 就足够使用了。

第一次用html2canvas,目的就是想把整个页面截图下来生成一张图片给用户保存

下面我们先来看看HTML渲染出来的是啥样子的

HTML渲染出来的图片可以看到上面的图片是有圆角效果的,但是当我用html2canvas来进行转换图片操作的时候,发现图片圆角效果没失效了。

变成了上面这个样子。想了很多解决方案,后来决定把后面的圆角做成一张背景图片,中间圆的部分背景透明,然后通过绝对定位覆盖到原来的图片上面,相当于是一个遮罩这种效果。

当然,遮罩图片的DOM节点必须在需要圆角图片的下面,类似于

div class="avatar_img fl">
    div class="avatar_img fl">
          img src="" id="you" class="avatar_pp fl" />
    !--需要圆角的原始图片-->
         img src="/template/images/avatar.png" class="img-responsive" style="posITion: absolute;
    ">
    !--遮罩图片-->
    /div>
    

生成出来就是正常的样子了

div class="avatar_img fl">
    div class="avatar_img fl">
          img src="" id="you" class="avatar_pp fl" />
    !--需要圆角的原始图片-->
         img src="/template/images/avatar.png" class="img-responsive" style="position: absolute;
    ">
    !--遮罩图片-->
    /div>
    


复制代码代码如下:
a href="a href="http://www.teaxia.COM/wp-content/uploads/2018/01/2.jpg"> img"> http://www.teaxia.com/wp-content/uploads/2018/01/2.jpg"> img/a> src="a href="http://www.teaxia.com/wp-content/uploads/2018/01/2-169x300.jpg"> http://www.teaxia.com/wp-content/uploads/2018/01/2-169x300.jpg/a> " alt="" width="169" height="300" srcset="a href="http://www.teaxia.com/wp-content/uploads/2018/01/2-169x300.jpg"> http://www.teaxia.com/wp-content/uploads/2018/01/2-169x300.jpg/a> 169w, a href="http://www.teaxia.com/wp-content/uploads/2018/01/2.jpg"> http://www.teaxia.com/wp-content/uploads/2018/01/2.jpg/a> 377w" sizes="(max-width: 169px) 100vw, 169px" /> /a>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

上一篇: HTML5 WebSocket实现点对点聊天的...下一篇:HTML5 Canvas实现360度全景图的示...猜你在找的html5相关文章 关于移动端h5开发相关内容总结2022-05-17html5教程-学表单的第二天2018-12-10html5教程-HTML5浏览器支持2018-12-10html5教程-HTML5智能表单2018-12-10html5教程-微信H5使用resLoader实现加载页效果2018-12-10html5教程-day01-初级-JS0-热身运动JS入门教程2018-12-10html5教程-html5shiv.js和respond.min.js2018-12-10html5教程-不同浏览器对于html5 audio标签和音频格式的兼容性2018-12-10html5教程-使用Html5实现手风琴案例2018-12-10html5教程-html5笔记2018-12-10 其他相关热搜词更多phpjavapython程序员load

若转载请注明出处: 详解html2canvas截图不能截取圆角图片的解决方案
本文地址: https://pptw.com/jishu/585810.html
HTML5 canvas 瀑布流文字效果的示例代码 HTML5新特性之type=file文件上传功能

游客 回复需填写必要信息