EaselJS线模糊

时间:2011-07-13 00:35:07

标签: javascript canvas easeljs

我使用EaselJS作为HTML5画布的API。

我注意到以下代码:

line.graphics.setStrokeStyle(1).beginStroke("black").moveTo(100,100).lineTo(200,200);
stage.addChild(line);

...生成以下行:

enter image description here

我将厚度设置为1 - 但线条仍然模糊。如果放大快照,可以看到它实际占用3个像素。我相信我读到某处画布在两个像素之间绘制一个点,这样两个像素实际上都会被着色。并且您需要将绘制点的位置移动到像素宽度的一半,以便它落在整个像素上。

我的应用程序需要清晰的图像,请指教。

1 个答案:

答案 0 :(得分:9)

EaselJS只是canvas API的抽象 - 它绘制了指定坐标上的所有行。 snapToPixel API专门用于执行自动舍入,但不考虑您描述的半像素问题。

最佳实践方法是将所有内容放入容器中,并将容器置于正值或负值(0.5,0.5) - 这将调整所有内容,并且您可以在正常的坐标空间中工作,而不是抵消所有计算