canvas图形组合

代码:

 1 /**
 2  * Created by Administrator on 2016/1/27.
 3  */
 4 function draw (id){
 5     var canvas = document.getElementById(id);
 6     var context = canvas.getContext('2d');
 7     context.globalCompositeOperation = "lighter";
 8     RectArc(context);
 9 }
10 function RectArc(context){
11 //    context.fillStyle = "#DA70D6"
12 //    context.fillRect(0,0,400,400);
13     context.beginPath();
14     context.rect(10,10,50,50);
15     context.fillStyle = "#FF6347";
16     context.fill();
17     context.beginPath();
18     context.arc(60,60,30,0,Math.PI*2,true);
19     context.fillStyle = "#00FF7F";
20     context.fill();
21 }
View Code

图形组合主要用到 globalCompositeOperation方法。

其格式: 

    context.globalCompositeOperation = "值";

    值表:

      

为方便记忆自己总结如下(以下的图片演示解释,方块为源图像,圆形为目标图像):

  分组记忆:

   1)copy:只保留新图形。

   2)darker和lighter:

       darker:重叠部分颜色由两个颜色值相减决定;

       lighter:重叠部分颜色由两个颜色值相加决定;

                             

   3)destination和source:

      destination决定源图像在目标图像的哪;

      source决定目标图像在源图像的哪。

      另有-in  -out  -atop -over等后缀。

      in:目标图像在源(目标)图像的里面会显示,其他透明。

      out:目标(源)图像在源(目标)图像的外面会显示,其他透明。

      atop:在顶部显示。只是简单的覆盖。

      over:在上方显示。显示覆盖的,其他的透明。

      

    4)xor:重叠部分透明。

          

转载于:https://www.cnblogs.com/chenluomenggongzi/p/5163769.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值