gpt4 book ai didi

javascript - 在 Canvas 上绘制不同颜色的矩形

转载 作者:行者123 更新时间:2023-11-30 09:30:13 33 4
gpt4 key购买 nike

我正在尝试绘制两个不同颜色的矩形:

var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
context.beginPath();
context.drawImage(this,0,0);
context.beginPath();
context.rect(left1,top1,width1,height1);
context.lineWidth = 8;
context.strokeStyle = 'red';
context.stroke();
context.rect(left2,top2,width2,height2);
context.lineWidth = 8;
context.strokeStyle = 'green';
context.stroke();

但两者的颜色相同(绿色,这是选择的第二种颜色)。

我想 stroke 没有按照我的预期去做。

我在这里错过了什么?

最佳答案

诀窍在于您只需在创建第二个方 block 之前调用 context.beginPath()

虽然不是严格需要,但您也应该使用 context.closePath() 完全关闭您的路径(称为 before context.stroke() )。

我已将 context.beginPath()context.closePath() 添加到以下示例中:

var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
//context.beginPath();
//context.drawImage(this, 0, 0);
context.beginPath();
context.rect(30, 30, 30, 30); /* Modified */
context.lineWidth = 8;
context.strokeStyle = 'red';
context.closePath();
context.stroke();
context.beginPath(); /* Added */
context.rect(80, 30, 30, 30); /* Modified */
context.lineWidth = 8;
context.strokeStyle = 'green';
context.closePath();
context.stroke();
<canvas id="canvas" width="150" height="100" style="border:1px solid #000000;">
</canvas>

希望对您有所帮助! :)

关于javascript - 在 Canvas 上绘制不同颜色的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46759595/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com