HTML5画布更新现有行的颜色 - 可能吗?

时间:2014-05-20 17:48:01

标签: html5-canvas

我是html5的新手并试图掌握基本面。

我想知道一旦画了一条线(比如黑色),我是否可以得到一个指针"使用画布的上下文到该行,然后更新该行的颜色?这个操作在html5土地上有意义吗?或者我是否必须使用新颜色在完全相同的位置重绘新线?

谢谢!

1 个答案:

答案 0 :(得分:1)

无法重绘您的线条,因为画布/上下文不会记住"它画了你的线。

常见的设计模式是"记住" javascript对象中的行:

var myLine={x0:10,y1:20,x1:100,y1:50};

然后,您可以使用新颜色重新绘制记住的行:

context.strokeStyle=myNewColor;
context.beginPath();
context.moveTo(myLine.x0,myLine.y0);
context.lineTo(myLine.x1,myLine.y1);
context.stroke();

另一个可能的故障。

Canvas将自动对其所有路径图进行反锯齿。这意味着画布可能会在第一行添加抗锯齿像素,即使您覆盖第一行也会保留这些像素。

画布图纸的常见设计模式是“记住”#34;所有图纸然后完全擦除&将所有记住的对象重绘为画布。

一个有用的新功能正被添加到Html Canvas ...

在不久的将来版本的canvas中,将会有一个内置于上下文中的Path Object,它将记住"路径对象。