创建后修改画布颜色

发布于 2024-10-20 05:43:35 字数 474 浏览 1 评论 0原文

我使用画布在页面上创建三角形集合,然后用大渐变将它们全部覆盖。

创建这些三角形后,是否有一种方法可以引用它们,以便在某个事件上使用 javascript 更改它们的颜色?还是我必须重新画三角形?

生成三角形的 for 循环:

context.fillStyle = color[i-1];
context.beginPath();
context.moveTo(1,leftStart+(itemStartHeight*(i-1))); //Tl
context.lineTo(width,(itemHeight*(i-1))); //Tr
context.lineTo(width,(itemHeight*i)+1); //Br
context.lineTo(1,leftStart+(itemStartHeight*i)+(i!=items ? 1 : 0)); //Bl
context.closePath();
context.fill();

Using canvas I am creating a collection of triangles on a page and then overlaying them all with a large gradient.

Once these triangles are created is there a way to reference them to change their color with javascript on a certain event? Or do I have to draw the triangle again?

The for loop that makes the triangles:

context.fillStyle = color[i-1];
context.beginPath();
context.moveTo(1,leftStart+(itemStartHeight*(i-1))); //Tl
context.lineTo(width,(itemHeight*(i-1))); //Tr
context.lineTo(width,(itemHeight*i)+1); //Br
context.lineTo(1,leftStart+(itemStartHeight*i)+(i!=items ? 1 : 0)); //Bl
context.closePath();
context.fill();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

本宫微胖 2024-10-27 05:43:35

默认情况下,无法引用在 canvas 元素上绘制的各个内容,要更改颜色,您必须重新绘制它们

Theres no way to reference individual things drawn on the canvas element by default, to change the colors you have to redraw them

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文