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 }
图形组合主要用到 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:重叠部分透明。

canvas图形组合的更多相关文章
- Canvas 图形组合方式
/** * 图形组合 */ function initDemo5() { var canvas = document.getElementById("demo5"); if (!c ...
- [html] 学习笔记-Canvas图形绘制处理
使用Canvas API 可以将一个图形重叠绘制在另外一个图形上,也可以给图形添加阴影效果. 1.Canvas 图形组合 通过 globalCompositeOperation = 属性 来指定重叠效 ...
- R语言与医学统计图形-【27】ggplot2图形组合、字体、保存
ggplot2绘图系统--图形组合.字体选择.保存输出 1.图形组合 一页多图在基础包中利用par和layout函数来切分画布. ggplot2是先铺好网格背景,再进行绘图,所以要通过切分网格背景来实 ...
- canvas图形的组合与裁切
当两个或两个以上的图形存在重叠区域时,默认情况下一个图形画在前一个图像之上.通过指定图像globalCompositeOperation属性的值可以改变图形的绘制顺序或绘制方式,globalAlpha ...
- canvas图形绘制
前面的话 前面分别介绍了canvas的基础用法和进阶用法,本文将使用canvas的各种语法进行图形绘制 绘制线条 [绘制线条] 下面来尝试绘制一段线条 <canvas id="draw ...
- canvas图形编辑器
原文地址:http://jeffzhong.space/2017/11/02/drawboard/ 使用canvas进行开发项目,我们离不开各种线段,曲线,图形,但每次都必须用代码一步一步的实现.有没 ...
- 小强的HTML5移动开发之路(6)——Canvas图形绘制基础
来自:http://blog.csdn.net/dawanganban/article/details/17686039 在前面提到Canvas是HTML5中一个重要特点,canvas功能非常强大,用 ...
- WPF 中Canvas图形移动、缩放代码
从Flash转C#,很多内容一知半解,边摸索边前进,代码粗糙,权当留个脚印. 只是想得到一个基础的移动和缩放功能的界面,找了很久都是画线.画矩形等基础形状的代码,移动和缩放说的并不清晰,只能自己努力来 ...
- HTML5 Canvas ( 图形的透明度和遮盖 ) globalAlpha, globalCompositeOperation
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
随机推荐
- DataX-ElasticSearch(写)
DataX写入ElasticSearch 1 快速介绍 数据导入elasticsearch的插件 2 实现原理 使用elasticsearch的rest api接口, 批量把从reader读入的数据写 ...
- Qt QTreeWidget节点的添加+双击响应+删除详解
转自: http://www.cnblogs.com/Romi/archive/2012/08/08/2628163.html 承接该文http://www.cnblogs.com/Romi/arch ...
- Zabbix的基本安装配置
/////////////////下面开始我的表演///////////////// 1.安装zabbixyum install -y epel-release安装rpm包的LAMP环境: yum i ...
- Python快速学习-高级特性
1.切片 取一个list或tuple的部分元素是非常常见的操作 L = ['hello','the','world','and','my','love'] 取前三个元素 L[0:3],L[:3] 取倒 ...
- PowerDesigner(一)-PowerDesigner概述(系统分析与建模)
PowerDesigner概述 PowerDesigner是Sybase公司推出的一个集成了企业架构,UML(统一建模语言)和数据库的CASE(计算机辅助软件工程)工具.它不仅可以用于系统设计和开发 ...
- 元数据(MetaData)
元数据是用来描述数据的数据(Data that describes other data).单单这样说,不太好理解,我来举个例子. 下面是契诃夫的小说<套中人>中的一段,描写一个叫做瓦莲卡 ...
- webservice中将dataset 压缩
http://blog.csdn.net/bodaowang/article/details/6889446 在webservice中将dataset序列化是我们经常遇到的问题,但是遇到很大的data ...
- TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议【转】
转自:http://blog.csdn.net/goodboy1881/article/details/668556 把这三个协议放到一起学习是因为这三个协议处于同一层(网际层),ARP协议用来找到目 ...
- BW里转换简单常用ABAP
用户查看的是当时的物料折让,那你必然要给物料加个时间,才好区分.总是以现在最新的物料状态查看历史数据会出现问题.当时这个物料是折让的,现在不折让了.数据会有问题.加个DSO.做一个时间记录.读取系统时 ...
- vue 全选与取消全选
所用知识点 1 v-model:监听input内容 2 watch:监听属性方法 参考https://cn.vuejs.org/v2/api/#watch 3 页面初始化调用函数 mounted 一: ...