html canvas截取圆角图片的实现方法


本文摘自PHP中文网,作者小云云,侵删。

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

本文主要介绍html2canvas截图不能截取圆角图片的解决方案的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

  • 不支持iframe

  • 不支持跨域图片

  • 不能在浏览器插件中使用

  • 部分浏览器上不支持SVG图片

  • 不支持Flash

  • 不支持古代浏览器和IE,如果你想确认是否支持某个浏览器,可以用它访问 http://deerface.sinaapp.com/ 试试 :)

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

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

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

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

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

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


1

2

3

4

<p class="avatar_img fl"><p class="avatar_img fl">

     <img src="" id="you" class="avatar_pp fl" /><!--需要圆角的原始图片-->

     <img src="/template/images/avatar.png" class="img-responsive" style="position: absolute;"><!--遮罩图片-->

</p>

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


1

2

3

4

<p class="avatar_img fl"><p class="avatar_img fl">

     <img src="" id="you" class="avatar_pp fl" /><!--需要圆角的原始图片-->

     <img src="/template/images/avatar.png" class="img-responsive" style="position: absolute;"><!--遮罩图片-->

</p>


复制代码

代码如下:

1

2

3

4

5

6

7

8

9

<a href="<a href="

<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</a>" alt="" width="169" height="300"

srcset="<a href="

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</a> 377w"

sizes="(max-width: 169px) 100vw, 169px" /></a>

相关推荐:

html与CSS如何实现圆形和圆角图片格式的示例代码

php生成圆角图片代码

CSS3制作圆角图片和椭圆形图片的方法介绍

以上就是html canvas截取圆角图片的实现方法的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

关于html主体的一些问题探讨

html 5经典书籍分享

html strike标签怎么用

html5使用canvas实现跟随光标跳动的火焰效果

html表格边框颜色怎么设置

html怎么去掉空格

htm和html是什么

如何选择web前端模板引擎(推荐)

html表单有哪些标记

html内容通常由哪三部分组成

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




打赏

取消

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

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

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

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

评论

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