创建后修改画布颜色
问题描述:
使用画布我在页面上创建三角形的集合,然后用大的渐变覆盖它们。创建后修改画布颜色
一旦创建了这些三角形,有一种方法可以引用它们以在某个事件上使用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();
答
世界上没有办法在默认情况下引用canvas
元素上绘制个性的东西,改变你必须重新绘制它们的颜色
您可能要开始寻找SVG而不是Canvas,因为它有一个_retained-mode_ drawing API。与HTML一样,这些元素在创建之后就存在,并且对其属性的更改立即生效。 – Phrogz 2011-03-04 05:14:27