2011-03-04 65 views
1

使用画布我在页面上创建三角形的集合,然后用大的渐变覆盖它们。创建后修改画布颜色

一旦创建了这些三角形,有一种方法可以引用它们以在某个事件上使用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(); 
+0

您可能要开始寻找SVG而不是Canvas,因为它有一个_retained-mode_ drawing API。与HTML一样,这些元素在创建之后就存在,并且对其属性的更改立即生效。 – Phrogz 2011-03-04 05:14:27

回答

1

世界上没有办法在默认情况下引用canvas元素上绘制个性的东西,改变你必须重新绘制它们的颜色