使用 rgba
因为 strokeStyle 和 fillStyle 属性接受符合 CSS 3 规范的颜色值,那就可以用下面的写法来设置具有透明度的颜色。
// 指定透明颜色,用于描边和填充样式ctx.strokeStyle = "rgba(255,0,0,0.5)";ctx.fillStyle = "rgba(255,0,0,0.5)";
globalAlpha
作用
这个属性影响到 canvas 里所有图形的透明度,有效的值范围是 0.0 (完全透明)到 1.0(完全不透明),默认是 1.0。
const ctx = document.getElementById('canvas').getContext('2d');// 画背景ctx.fillStyle = '#FD0';ctx.fillRect(0,0,75,75);ctx.fillStyle = '#6C0';ctx.fillRect(75,0,75,75);ctx.fillStyle = '#09F';ctx.fillRect(0,75,75,75);ctx.fillStyle = '#F30';ctx.fillRect(75,75,75,75);ctx.fillStyle = '#FFF';// 设置透明度值ctx.globalAlpha = 0.2;// 画半透明圆for (let i=0;i<7;i++){ctx.beginPath();ctx.arc(75,75,10+10*i,0,Math.PI*2,true);ctx.fill();}
