HTML5中Canvas的使用例子

通常使用<canvas>绘图时,后绘制的图形会覆盖在先绘制的图形上方,即遮住先绘制的图形。这是由于默认的合成操作时source-over。除了这种合成方式,还有其他许多合成方式告诉<canvas>怎么显示两个重叠的图形。

1,所有的合成操作及其效果

11种合成方式如下:source-over、source-in、soruce-out、source-atop、destination-over、destination-in、destination-out、destination-atop、lighter、copy、xor。
下面演示效果(先绘制一个矩形 ,再在上面绘制一个圆形)

2,如何设置合成操作方式

要改变<canvas>当前使用的合成操作方式,只要在画后面的图形之前设置绘图上下文的 globalCompositeOperation 属性即可。

var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
 
//绘制矩形
context.fillStyle = "blue";
context.fillRect(15,15,100,100);
 
//选择globalCompositeOperation
context.globalCompositeOperation = "source-atop";
 
//在上方绘制圆形
context.fillStyle = "red";
context.beginPath();
context.arc(100,100,50,0,Math.PI*2,true);
context.fill();

时间: 2024-09-29 16:48:54

HTML5中Canvas的使用例子的相关文章

html5中canvas的一个简单的例子

买了两本关于HTML5的书,一本<HTML5揭秘>,一本<HTML5高级程序设计>,现在在看<html5揭秘>网上说这本书是非常入门的一本,<HTML5权威指南>就相对深一点.所以买了揭秘,没买指南.都说HTML5的canvas很重要,所以这里把书上关于canvas的一些简单例子,给试着自己写了一遍,放上来把  代码如下 复制代码 window.onload = function(){     var canvas = document.getElement

关于HTML5中Canvas的宽、高设置有关问题

关于HTML5中Canvas的宽.高设置问题 Canvas元素默认宽 300px, 高 150px, 设置其宽高可以使用如下方法:方法一:1 <canvas width="500" height="500"></canvas>方法二:使用HTML5 Canvas API操作 OK1 var canvas = document.getElementById('欲操作canvas的id');2 canvas.width = 500;3 canva

HTML5中Canvas(绘制)使用例子

Canvas中不仅可以画线(路径),还能画很多其他的图像,这一章就介绍Canvas的其他两种绘图API. 一.简单图形,整套的属性和方法专门用于绘制矩形: 1.fillStyle可以设置为CSS颜色.一个图案或一种颜色渐变.fillStyle默认是纯黑色,你可以设置成你喜欢的任意颜色.只要页面打开着,每个绘图上下文都会记录自己的属性,除非你重置过它. 2.fillRect(x,y,width,height)绘制一个矩形,并以当前的fillStyle来填充. 3.srtokeStyle和fillS

html5中canvas的使用 获取鼠标点击页面上某点的RGB

1.html5中的canvas在IE9中可以跑起来.在IE8则跑不起来,这时候就需要一些东西了. 我推荐这种方法,这样显得代码不乱. <!--[if lt IE9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> 需要谷歌的一个html5.js的文件即可. 注意:必须插入在<head></he

HTML5中Canvas的渐变色功能的例子

Canvas支持线性渐变填充,和放射性渐变填充.同时,这两种渐变形式都支持多种颜色混合. 1,线性渐变 (1)要创建线性渐变,我们需要给 createLinearGradient() 传入两个坐标点,分别表示渐变的起点和终点.起点和终点构成了颜色逐渐过渡的区间. var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d");   //边框线条宽度 con

html5中canvas 圆周运动和椭圆运动例子

一. 圆周运动 1.1 思路分析: 圆的方程为: // (x0, y0)为圆心位置:(x, y)为圆上的点 (x - x0) ^ 2 + (y - y0) ^ 2 = r ^ 2 cos(angle) ^ 2 + sin(angle) ^ 2 = 1 因此,综合以上两式,可得: x = r * cos(angle) + x0 y = r * sin(angle) + y0 因此,应用正弦函数计算y坐标,用余弦函数计算x坐标. 1.2 实例: // cancelRequestAnimFrame的兼

HTML5中Canvas标签的学习

HTML5 提供了画布(canvas)标签,通过与Javascript结合使用,可以在网页上绘制图像.Canvas是一个矩形区域,使用Javascript可以控制其每一个像素.本文将对canvas标签进行简要的学习. 1.canvas标签说明 canvas标签是一个矩形区域,它包含两个属性width和height,分别表示矩形区域的宽和高,这两个属性都是可选的,并且都可以通过css来设定,他们的默认值是300px和150px.canvas在网页中的形式如下: <canvas id="myC

HTML5中Canvas绘制曲线:圆、圆弧、贝塞尔曲线使用样例

绘制曲线有如下四个方法:arc().artTo().bezierCurveTo()和quadraticCurveTo(). 第一个比较简单,就是绘制一段圆弧.后面三个方法复杂一些,都需要定义控制点. 1,arc()绘制圆弧 圆弧就是圆上的一部分.要绘制圆弧必须确定:圆形的坐标.圆的半径.圆弧的起点角度和终点角度. 其中起点角度和终点角度都要用弧度表示,即常量pi的倍数(1pi是半圆,2pi是整个圆形). (1)下面使用arc()方法绘制一段圆弧: var canvas = document.ge

HTML5中Canvas的使用样例(图形增加鼠标点击、拖动交互)

Canvas是一种非保留性的绘图界面,即不会记录过去执行的绘图操作,而是保持最终结果(构成图像的彩色像素). 如果想让Canvas变得具有交互性,比如用户可以选择.拖动画布上的图形.那么我们必须记录绘制的每一个对象,才能在将来灵活的修改并重绘它们,实现交互. 1,鼠标点击选择图形对象 (1)下面样例中点击"添加圆圈"按钮可以在画布上增加位置.大小.颜色都是随机的圆圈. (2)点击"清空画布"按钮可以清除画布上所有圆圈. (3)鼠标点击任意圆圈,该圆圈会出现黑色边框,