Maë*_*son 9 javascript html5 canvas html5-canvas
如何在以下代码中禁用抗锯齿效果?我正在使用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( );
Run Code Online (Sandbox Code Playgroud)
小智 5
在imageSmoothingEnabled仅影响图像绘制用帆布drawImage()(故名图像 SmoothingEnabled).遗憾的是,没有办法禁用线条和形状.
与6502的答案以及之前的答案一样,您需要实现"低级"方法来实现这一目标.
以下是一些针对各种基元的常用算法的链接:
您需要实现此方法的方法是从这些公式中获取x和y坐标.然后,您需要通过rect(x, y, 1, 1)直接更改图像数据缓冲区来直接使用或设置像素.对于这类事情,后者往往更快.
在这两种情况下,由于需要使用JavaScript与浏览器的内部编译迭代进行迭代,因此性能会相对较高.