作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试用 Canvas 绘制图表,并希望获得清晰的线条,而不是抗锯齿。我知道您需要使用 0.5 偏移量来使线条精确地落在屏幕像素上,但即使如此,我在 Firefox 中也能得到抗锯齿线条,而 Chrome 和 IE 都可以很好地呈现它。
这是一些示例代码:
JS:
var canvas = document.getElementsByTagName('canvas')[0];
var ctx = canvas.getContext('2d');
canvas.width = 100;
canvas.height = 100;
ctx.translate(-0.5, -0.5); //To get crisp lines
ctx.lineWidth = 1;
ctx.strokeStyle = 'black';
for (var x = 20; x < 100; x += 20){
ctx.moveTo(x, 20);
ctx.lineTo(x,100);
ctx.stroke();
}
参见 JsFiddle:http://jsfiddle.net/einaregilsson/9yrF6/8/
这就是 Chrome 和 IE 中的样子:
这就是 Firefox 中的样子:
这是 Windows 7 上的 Firefox 26。我尝试过关闭硬件加速,有人建议这样做,但这没有什么区别。有什么想法可以让我在 Firefox 上获得清晰的线条吗?
此外,是否有人在 Firefox 上查看 Fiddle 时没有看到抗锯齿线?我想知道这是否是 Firefox 的普遍问题,还是我的设置所特有的问题。
最佳答案
看起来您在 Firefox 上稍微放大了(注意线条的间距稍远)
按 Ctrl+0 重置缩放级别。这应该可以解决您的问题。
关于javascript - 在 Firefox 的 Canvas 中绘制线条时的抗锯齿功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21232552/
我是一名优秀的程序员,十分优秀!