用canvas做图像遮罩---globalCompositeOperation 属性
来源:互联网 发布:佛山!安防数据库 编辑:程序博客网 时间:2024/05/16 12:53
globalCompositeOperation属性的官方解释:http://www.w3school.com.cn/tags/canvas_globalcompositeoperation.asp
globalCompositeOperation属性应用例子可以参考:http://blog.csdn.net/laijieyao/article/details/41862473
属性值
注意:
这里圆圈是源图像、图片是目标图像
源图像 = 您打算放置到画布上的绘图。
目标图像 = 您已经放置在画布上的绘图。
即:先出现在画布上是目标图像,后面出现的是源图像---------------------------------------------------------------------------------------------------------------------------------------------------------
新建一个CANVAS,并放置一张图片
<body><canvas id="shade" width="800" height="400px" style="border: solid 1px red;position: absolute;left: 0px;top: 0px"></canvas><script> var shade=document.getElementById('shade'); var imgContext=shade.getContext("2d"); var img=new Image(); img.src='canTT.jpg'; img.onload=function(){ imgContext.drawImage(img,0,0); }</script></body>
然后再画一个遮罩的图形,这里画圆:
var shade=document.getElementById('shade');var imgContext=shade.getContext("2d");var img=new Image();img.src='canTT.jpg';img.onload=function(){ imgContext.drawImage(img,0,0); imgContext.fillStyle="rgb(63,169,245)"; imgContext.arc(200,200,100,0,Math.PI*2,true); imgContext.fill();}
然后现在我们显示圆圈里的图片,其余部分隐藏。即:显示源图像内的目标图像
根据globalCompositeOperation 属性,可以用 destination-in
destination-in在源图像中显示目标图像。只有源图像内的目标图像部分会被显示,源图像是透明的。var shade=document.getElementById('shade');var imgContext=shade.getContext("2d");var img=new Image();img.src='canTT.jpg';img.onload=function(){ imgContext.drawImage(img,0,0); imgContext.globalCompositeOperation="destination-in" imgContext.fillStyle="rgb(63,169,245)"; imgContext.arc(200,200,100,0,Math.PI*2,true); imgContext.fill();}
搞定!
-----------------------------------------------------------------------------------------------------------------------------------
当然也可以用CSS来做做遮罩:
原理就是创建一些DIV当做遮罩层,然后把不显示出来的部分,遮住。可以用各种方法。。。
但是这种方法不够灵活就是了!
- 用canvas做图像遮罩---globalCompositeOperation 属性
- 图解Canvas中globalCompositeOperation属性
- HTML 5 canvas globalCompositeOperation 属性
- HTML 5 canvas globalCompositeOperation 属性
- 【HTML5】Canvas之globalCompositeOperation属性详解
- canvas globalCompositeOperation
- globalCompositeOperation 属性
- canvas中颜色合成之globalCompositeOperation属性学习
- canvas 合成globalCompositeOperation
- Canvas里的globalCompositeOperation
- HTML5 canvas globalCompositeOperation绘图顺序讲解
- canvas绘图 globalCompositeOperation 各种叠加效果图
- canvas(图像)
- canvas 属性
- 用Canvas获取图像平均颜色
- html5--用canvas做个放大镜
- 用Python做图像处理
- 用Python做图像处理
- 一个绚丽的loading动效分析与实现!
- 319. Bulb Switcher #Medium
- 软硬件研发实用解决问题的思想(思想走在行动的前面)
- hightcharts java的实现实例
- 玩转微信营销和推广的10种方法和技巧
- 用canvas做图像遮罩---globalCompositeOperation 属性
- golang: 使用 delve 调试 golang 程序
- Android 材料设计一
- iPhone价格要降了?库克承认iPhone太贵 未来会考虑
- 纠结我的一个DataTime类型
- C++程序设计语言练习5.7 结构体数组的初始化
- SQL优化经验总结34条(一)
- Android Studio如何发布APK
- [hadoop]hadoop2安装与配置(八)