Html5 Canvas初探学习笔记(7) -合成

原创 2012年03月28日 21:48:07

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man

本篇介绍另外两个绘制的状态值,分别是全局阿尔法值和合成操作,首先来看全局阿拉法值

全局阿拉法值很简单,就是我们的argb值里面的“a”值,不同的是全局阿拉法值必须在0.0(全透明)到1.0(全部透明)之间,对应之前提到的“a”值的0255,默认值是1.0

如下的代码将实现下面的效果:

context.fillStyle = "red";

context.save();

context.globalAlpha = 0.5;

context.fillRect(50,50,100,100);

context.restore();

context.fillRect(200,50,100,100);


这个例子介绍全局阿拉法值的使用,同时说明了他是一个绘制状态值,也可以使用saverestore,由于调用save时保留了fillStylered值,所以画出的是半透的红色正方形和不透的红色正方形。

合成操作也是一个状态值globalCompositeOperation,定义他的不同值,将完成一些操作,主要是源图形(定义globalCompositeOperation之前的绘制上下文)和目标图形(定义globalCompositeOperation之后的绘制上下文)

首先来看这段代码,将会实现下面的效果

context.fillStyle = "red";

context.globalCompositeOperation = "source-over";

context.fillRect(50,50,100,100);

context.fillStyle = "blue";

context.fillRect(100,100,100,100);


这是globalCompositeOperation的默认值,也就是说没有这句话效果是一样的,就是后画的部分将覆盖到之前画的上面

以下介绍globalCompositeOperation的值对应的效果:

"destination-over"


"source-out"


"destination-atop"


"lighter"


"copy"


"xor"


有些值目前chrome浏览器还不支持,需要等规范来规定

如有错误,希望大家多多指正

下一篇继续研究绘制的高级功能



版权声明:本文为博主原创文章,未经博主允许不得转载。

使用h5的canvas实现两张图片的合并

思路: 1.首先等待图片加载完成 2.然后使用canvas完成图片的合并 3.显示合成图片 步骤: 1.根据第一个思路,需要image的load和error事件,大致流程: var l_i...
  • babulongbo
  • babulongbo
  • 2017年12月18日 18:22
  • 265

h5 canvas(toDataURL)实现将图片与文字结合

canvas.toDataURL实现将图片与文字结合。 一般证件中输入的信息下载时与图片结合起来就是用的canvas的toDataURL()实现的。...
  • qq_26445509
  • qq_26445509
  • 2016年03月28日 16:30
  • 1790

HTML5之Canvas 2D入门1 - Canvas绘制文本和图像

Canvas历史   canvas是一个新的HTML元素,这个元素可以被脚本语言(通常是JavaScript)用来绘制图形。例如可以用它来画图、合成图象、或做动画。canvas最先在苹果公司(App...
  • pyx61198
  • pyx61198
  • 2016年08月31日 11:44
  • 884

H5网页Canvas画布绘图 图片文字合成

一个很简单的小列子,直接贴代码,代码中都有注释,下面有demo链接。 ...
  • Ani521smile
  • Ani521smile
  • 2016年11月24日 10:11
  • 6946

怎么保证html5的canvas里面image对象加载完成可以执行后面的代码

先看一下 Image对象的属性 里面有一个 comp
  • leo1949asd
  • leo1949asd
  • 2014年09月26日 20:51
  • 1991

如何开发一个简单的HTML5 Canvas 小游戏

原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学。(如果你怀疑我的资历, ...
  • for_cxc
  • for_cxc
  • 2016年07月27日 13:31
  • 863

浅谈HTML5 canvas(一)

: HTML5添加的最受欢迎的功能就是元素,这个元素负责在页面中设定一个区域,然后就可以通过JavaScript动态在这个区域绘制图形。 主流浏览器都支持canvas,如IE9+、FireFox1.5...
  • zhouziyu2011
  • zhouziyu2011
  • 2017年03月24日 23:05
  • 709

HTML5中canvas画图之绘制数据图表

上一篇博文绘制了一个方格图,现在来绘制一个数据图表。实现的效果如下: 实现代码如下: 数据图表 //定义图表数据 var uriage=[80,92,101...
  • qq_25821067
  • qq_25821067
  • 2016年06月11日 22:38
  • 2755

html5 canvas自定义画板

html> head> meta charset="utf-8" /> head> body> 定义画板br /> canvas id="myCanvas" width="1200" heigh...
  • jbgtwang
  • jbgtwang
  • 2015年07月20日 09:03
  • 3180

html5 Canvas画图10:圆角矩形

本文属于《html5 Canvas画图系列教程》 上一篇文章我讲了画矩形和圆形的方法,他们都有原生的canvas绘图函数可完成。而本文讲的圆角矩形则只有通过其他方法模拟出来。 一个正常的圆角矩形,...
  • happyrabbit456
  • happyrabbit456
  • 2017年02月14日 15:34
  • 509
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Html5 Canvas初探学习笔记(7) -合成
举报原因:
原因补充:

(最多只允许输入30个字)