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:重叠部分透明。

          

时间: 2024-10-26 21:30:01

canvas图形组合的相关文章

Canvas 图形组合方式

/** * 图形组合 */ function initDemo5() { var canvas = document.getElementById("demo5"); if (!canvas) return; var context = canvas.getContext("2d"); var oprtns = [ "source-atop", // 新图形覆盖原有图形,新图形未重叠部分透明 "source-in", // 新

canvas图形的组合与裁切

当两个或两个以上的图形存在重叠区域时,默认情况下一个图形画在前一个图像之上.通过指定图像globalCompositeOperation属性的值可以改变图形的绘制顺序或绘制方式,globalAlpha可以指定图形的透明度. globalCompositeOperation 属性设置或返回如何将一个源(新的)图像绘制到目标(已有)的图像上. 源图像 = 您打算放置到画布上的绘图. 目标图像 = 您已经放置在画布上的绘图. ctx.globalCompositeOperation = 'source

HTML5 Canvas ( 图形变换矩阵 ) transform, setTransform

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas</title> <script type="text/javascript" src="../js/jQuery.js"></script> <style type="text/css">

canvas图形导航

对于用canvas绘制图形简单的导航方便绘制嘴贱单的图片: <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title>HTML5 移动Web开发指南</title> <style type="text/css"> h1, h5 { text-align: center; } canvas { float: left; ma

WPF 中Canvas图形移动、缩放代码

从Flash转C#,很多内容一知半解,边摸索边前进,代码粗糙,权当留个脚印. 只是想得到一个基础的移动和缩放功能的界面,找了很久都是画线.画矩形等基础形状的代码,移动和缩放说的并不清晰,只能自己努力来解决一下. 素材准备: WPF项目的屏幕上放一个Canvas控件,名称为canvas1. 代码如下: 1 using System; 2 using System.Windows; 3 using System.Windows.Media; 4 using System.Windows.Input;

HTML5 Canvas ( 图形的像素操作 ) getImageData, putImageData, ImgData.data

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas</title> <script type="text/javascript" src="../js/jQuery.js"></script> <style type="text/css">

HTML5 Canvas ( 图形的阴影 ) shadowColor, shadowOffsetX, shadowOffsetY, shadowNlur

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas</title> <script type="text/javascript" src="../js/jQuery.js"></script> <style type="text/css">

canvas图形函数

function drawStar(cobj,x, y, radius1, radius2, num, drawType, color) {//参数:画笔,圆心X.圆心Y,半径1,半径2,形状边,实心|空心,颜色 var angle = 360 / (num * 2); var arr = []; for(var i = 0; i < num * 2; i++) { var starObj = {}; if(i % 2 == 0) { starObj.x = x + radius1 * Math

极客学院Web前端开发技术实战视频教程 初级入门+高级实战++专家课程+面试指导

===============课程目录=============== ├<初级中级>│  ├<1. HTML5开发前准备>│  │  ├1.HTML5开发前准备.mp4│  │  └2.开发前的准备-快捷键.mp4│  ├<10. React.js>│  │  ├React.js简介.txt│  │  ├<1.React 概述>│  │  │  ├React 开发环境搭建.mp4│  │  │  ├编写第一个 React 程序.mp4│  │  │  └什么