canvas实现遮罩效果
2015-08-11 19:10
288 查看
今天做的一个网页要实现图片以平行四边形的样子展现出来,但是切图的时候要切成普通的图片,想了很久,最后是通过canvas绘制两个三角形来完成遮罩的效果。
最终效果图:
提供的素材图片
好了,那么开始实现这种效果了
1 . 将页面的结构写好,两个三角形的canvas画布和一张图片
2 . 通过canvas画一个正直角三角形和一个倒直角三角形
这里canvas的用法就不多介绍了,直接解释下直角三角形的画法。首先看正直角三角形, 通过ctx.moveTo(0, 0);确定原点位置,然后通过ctx.lineTo(0, 100);向y轴画100px的线,最后画(640,100)完成三角形的闭合。然后填充颜色就ok了。倒三角形的原理也是一样的。
3 . 最后通过css将它们的位置确定一下
4 . 大功告成,华丽丽的效果就这样实现了。但是角的部分还是有点瑕疵,不知道怎么解决。这里附上Demo的下载地址:
http://download.csdn.net/detail/a46262563/8992299
最终效果图:
提供的素材图片
好了,那么开始实现这种效果了
1 . 将页面的结构写好,两个三角形的canvas画布和一张图片
<div class="m-img"> <canvas id="m-triangle2" width="640px" height="100px"> </canvas> <img src="images/1.jpg" width="640px"> <canvas id="m-triangle" width="640px" height="100px"></canvas> </div>
2 . 通过canvas画一个正直角三角形和一个倒直角三角形
<script> //正直角三角形 var canvas = document.getElementById("m-triangle"); var ctx = canvas.getContext("2d"); ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineTo(0, 100); ctx.lineTo(640, 100); ctx.closePath(); ctx.fillStyle = '#fff'; ctx.fill(); //倒三角直角形 var canvas2 = document.getElementById("m-triangle2"); var ctx2 = canvas2.getContext("2d"); ctx2.beginPath(); ctx2.moveTo(0, 0); ctx2.lineTo(640, 100); ctx2.lineTo(640, 0); ctx2.closePath(); ctx2.fillStyle = '#fff'; ctx2.fill(); </script>
这里canvas的用法就不多介绍了,直接解释下直角三角形的画法。首先看正直角三角形, 通过ctx.moveTo(0, 0);确定原点位置,然后通过ctx.lineTo(0, 100);向y轴画100px的线,最后画(640,100)完成三角形的闭合。然后填充颜色就ok了。倒三角形的原理也是一样的。
3 . 最后通过css将它们的位置确定一下
.m-img { width: 640px; margin: 40px auto; position: relative; } #m-triangle { position: absolute; bottom: 0; left: 0; } #m-triangle2 { position: absolute; top: 0; left: 0; }
4 . 大功告成,华丽丽的效果就这样实现了。但是角的部分还是有点瑕疵,不知道怎么解决。这里附上Demo的下载地址:
http://download.csdn.net/detail/a46262563/8992299
相关文章推荐
- IE:获取完整的网页
- IE:脱机浏览网页
- 网页恶意代码的预防
- 对于技术人员的出现了运行时间错误,是否要进行调试的解决方法
- 针对网页制作者的网页打开速度慢的解决方法集合第1/2页
- C#实现将网页保存成图片的网页拍照功能
- IE中用VBScript不提示直接打印的代码
- 网页绿色系配色应用实例图文第1/2页
- 提高CSS网页渲染效率的11点注意事项
- C#下载网页并在控制台输出的方法
- php查看网页源代码的方法
- Winform实现将网页生成图片的方法
- asp.net 抓取网页源码三种实现方法
- js统计网页在线时间的脚本
- C#实现网页截图功能
- 利用AJAX开源项目 在网页里播放视频实现方法
- 使用javascript为网页增加夜间模式
- 基于Bootstrap的网页设计实例
- js实现从右向左缓缓浮出网页浮动层广告的方法