将透明度与globalCompositeOperation属性结合使用,可以用来控制图形和文本在画布上绘制的方式,合成globalCompositeOperation允许的值有:
copydestination-atopdestination-indestination-indestination-overdestination-outlightersource-atopsource-insource-outsource-oversource-overxor
实例代码选自《HTML5权威指南》

代码默认效果

  • copy 效果时将来源绘制在目标上,忽略一切透明度设置,类似直接覆盖的效果,即将
  • destination-atop 使用目标图像来代替原图像,也就时保留透明度并叠加可见部分
  • destination-in 来源图像和目标图像都不透明处显示来源图像,来源图像应用了透明度,Hello应用了透明度,只显示与目标图像交集的地方
  • destination-over 来源图像覆盖在目标图像上,即Hello覆盖在红色矩形上
  • lighter来源图像与目标图像的总和,可以看出来源图像和目标图像都有了透明效果
  • source-atop 目标图像图像颜色叠加到源图像Hello
  • source-in 来源图像与目标图像叠加处显示来源图像和目标图像色彩
  • source-out 来源图像与目标图像叠加部分,来源图像Hello不透明处使其透明显示,其他位置显示目标图像
  • source-over 目标图像个叠加到来源图像上
  • xor 叠加出图像执行异或运算

原文:大专栏  HTML5 Canvas合成


02-11 13:23