您好,欢迎访问一九零五行业门户网

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

本篇介绍另外两个绘制的状态值,分别是全局阿尔法值和合成操作,首先来看全局阿拉法值
全局阿拉法值很简单,就是我们的argb值里面的“a”值,不同的是全局阿拉法值必须在0.0(全透明)到1.0(全部透明)之间,对应之前提到的“a”值的0到255,默认值是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);
这个例子介绍全局阿拉法值的使用,同时说明了他是一个绘制状态值,也可以使用save和restore,由于调用save时保留了fillstyle的red值,所以画出的是半透的红色正方形和不透的红色正方形。
合成操作也是一个状态值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浏览器还不支持,需要等规范来规定
以上就是html5 canvas初探学习笔记(7) -合成的内容。
其它类似信息

推荐信息