合成属性
globalAlpha 设置或返回绘图的当前 alpha 或透明值
globalCompositeOperation 设置或返回新图像如何绘制到已有的图像上
<script type="text/javascript">
var arr=new Array();
arr.push("source-atop");
arr.push("source-in");
arr.push("source-out");
arr.push("source-over");
arr.push("destination-atop");
arr.push("destination-in");
arr.push("destination-out");
arr.push("destination-over");
arr.push("lighter");
arr.push("copy");
arr.push("xor");
for (var i=0;i<arr.length;i++){
document.write("<div id='p_"+ i +"'style='float:left;border:1px solid #000'>"+arr[i]+":<br>");
var c=document.createElement("canvas");
c.width=120;
c.height=100;
document.getElementById("p_"+i).appendChild(c);
var ctx=c.getContext("2d");
ctx.fillStyle="blue";
ctx.fillRect(10,10,50,50);
ctx.globalCompositeOperation=arr[i];//设置或返回新图像如何绘制到已有的图像上
ctx.beginPath();
ctx.fillStyle="red";
ctx.globalAlpha=0.8; //设置或返回绘图的当前 alpha 或透明值
ctx.arc(50,50,30,0,2*Math.PI);
ctx.fill();
document.write("</div>");
}
</script>