在下面的代码中,如果我在两个地方使用rect()
和fill()
,第二个fillStyle
会覆盖第一个中指定的颜色(即,两个矩形都是绿色的),但如果我将第一个矩形改为fillRect()
,则第二个矩形将按预期工作(即,第一个矩形为蓝色,第二个矩形为绿色)。为甚麽呢?我以为fillRect()
只是rect()
,然后是fill()
,对吧?
ctx.translate(canvas.width/2, canvas.height/2);
ctx.fillStyle = "#5A9BDC";
ctx.fillRect(0, 0, rectWidth, rectHeight);
// ctx.rect(0, 0, rectWidth, rectHeight);
// ctx.fill();
ctx.translate(-canvas.width/2, -canvas.height/2);
ctx.fillStyle = "#31B131";
ctx.rect(0, 0, rectWidth, rectHeight);
ctx.fill();
在Chrome | Fiddle中测试
https://stackoverflow.com/questions/22559603
复制相似问题