有没有办法使用JavaScript和Canvas "更好"地反锯齿绘制线条,就像Flash一样?
我知道使用Math.floor(coord)+0.5技巧可以在需要时得到精确的1像素线,但那不是我的意思。以下使用Canvas绘制的蓝色线在所有支持HTML5和Cavas的浏览器中看起来都很丑,因此它们可能使用相同的糟糕抗锯齿算法(可能是为了速度而编写,而不是为了最佳视觉效果)。无论线条宽度如何(实际上越厚,越丑),情况都是相同的:
1像素蓝线截图:
3像素蓝线截图:
正如您所看到的,这不是绘制良好抗锯齿线条的最美观方式,只有较粗的线条看起来好看。客户要求我开发的图形操作应用程序“看起来好看”,从美学角度非常苛刻,如果我无法解决这个问题,我可能会放弃HTML5 / Canvas方案而采用Flash方式。或者,我可以在JavaScript中编写好的反锯齿线条绘制算法(有人可以为我提供一些资源吗?)。抱歉没有添加在Flash中绘制的线条图片,但重点是它们看起来很好,反锯齿效果做得"对"