【发布时间】:2013-08-31 18:41:22
【问题描述】:
如何在以下代码中禁用抗锯齿效果?我正在使用 Chrome 29。
var canvas = document.getElementById( 'test' );
var context = canvas.getContext( '2d' );
// These lines don't change anything
context.mozImageSmoothingEnabled = false;
context.webkitImageSmoothingEnabled = false;
context.imageSmoothingEnabled = false;
context.beginPath();
context.arc(100, 100, 100, 0, Math.PI * 2, true );
context.closePath();
context.fillStyle = 'red';
context.fill( );
【问题讨论】:
-
这个问题让我想到了这个问题,我回答了这个问题:stackoverflow.com/questions/14424648/nice-ellipse-on-a-canvas/… 简而言之:性能受到很大影响,您可以对绘图进行后处理或重新实现原语,而无需抗锯齿(可能需要相当多的工作),但没有抗锯齿就无法快速完成。
-
当我在做一个绘图脚本时,我发现如果你画同样的东西 20 次,抗锯齿的像素会堆积起来变成锯齿。更快的方法是在图像缓冲区上绘制所需的形状,通过读取数据来限制 alpha(0% 或 100%),然后将图像缓冲区绘制到画布中。 (我没时间写代码)
-
请在此处查看我的“复古画布”项目:github.com/epistemex/retro-context-canvas(免费)
-
那个链接现在是github.com/epistemex/8-bit(还有这个:github.com/mohayonao/gretro)
标签: javascript html canvas html5-canvas