使用createjs在画布上绘图是别名

时间:2013-06-26 09:59:51

标签: canvas drawing antialiasing easeljs createjs

使用createjs库在html5画布上绘图时遇到问题。图纸不平滑但有别名。 似乎很多人都只是用chrome来解决这个问题,但对我而言,它在IE和Firefox中也没有什么不同。我还发现应该可以use alphamaskfilter to achieve anti-aliasing,但我不知道如何。如果这是要走的路可以有人告诉我该怎么做?

以下是代码的一部分。它使用鼠标移动并绘制一条线,从鼠标所在的位置到鼠标现在的位置:

var drawing = new createjs.Shape();
drawing.name = pathID.toString();
drawing.graphics.ss(point.width, "round").s(point.color);
drawing.graphics.mt(lastPoint.x, lastPoint.y);        
drawing.graphics.lt(point.x, point.y);

// Draw onto the canvas, and then update the container cache.
wrapper.addChild(drawing);
wrapper.updateCache("source-over");

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。奇怪的是,如果你没有给wrapper.updateCache()提供任何参数,它会变得顺畅:

var drawing = new createjs.Shape();
drawing.name = pathID.toString();
drawing.graphics.ss(point.width, "round").s(point.color);
drawing.graphics.mt(lastPoint.x, lastPoint.y);        
drawing.graphics.lt(point.x, point.y);

// Draw onto the canvas, and then update the container cache.
wrapper.addChild(drawing);
wrapper.updateCache();