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> ...
随机推荐
- NLP学习常用的网页链接
[2016.7.5] 这是以前学习的时候整理的,放到博客里面,以后再有的话会更新~ 1.一个国外的学者维护的博客,介绍NLP [链接](http://nlpers.blogspot.jp/) 2.北京 ...
- MapReduce-多个Mapper
MapReduce的多输入.多mapper 虽然一个MapReduce作业的输入可能包含多个输入文件(由文件glob.过滤器和路径组成),但所有文件都由同一个InputFormat和同一个Mapper ...
- 扩展KMP(转)
拓展kmp是对KMP算法的扩展,它解决如下问题: 定义母串S,和字串T,设S的长度为n,T的长度为m,求T与S的每一个后缀的最长公共前缀,也就是说,设extend数组,extend[i]表示T与S[i ...
- neutron routers HA 实验
测试环境: 5个节点(( controller,2 network,2 compute nodes)) 采用VXLAN+Linux Bridge 1. 确定所有的neutron和nova服务都在运行 ...
- android里getView,inflate,listview问题
今天在写一个listview的时候,遇到一个问题,如下 package com.brookji.funlearn; import java.util.ArrayList; import android ...
- java:IO:file 类
刷某一目录下的所有文件夹/文件 public class FileDemo2 { public static void main(String args[]) { File file = new Fi ...
- 小谈CSS定位
定义和用法 position 属性规定元素的定位类型. 说明 这个属性定义建立元素布局所用的定位机制.任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型.相对定位元素会 ...
- 修复 Xcode 错误 “The identity used to sign the executable is no longer valid”
如图: 解决方法来自:http://stackoverflow.com/questions/7088441/the-identity-used-to-sign-the-executable-is-no ...
- Windows 10 SDK 10.0.10158
昨天微软发布了Windows 10 SDK 10158版本: http://blogs.windows.com/buildingapps/2015/06/30/windows-10-sdk-previ ...
- 51nod 1243 二分+贪心
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1243 1243 排船的问题 题目来源: Codility 基准时间限制: ...