用Canvas绘制出来的圆0度90度180度360度的地方明显比其他地方要平一些~ 是canvas本身的问题还是有其他解决方法
用Canvas绘制出来的圆0度90度180度360度的地方明显比其他地方要平一些~ 是canvas本身的问题还是有其他解决方法
可能是画布或者浏览器没有开启抗锯齿的原因(旁边的文字也有锯齿)。手动开启HTML5 Canvas的抗锯齿可以用
canvas.getContext('2d').imageSmoothingEnabled = true;
或者直接把整个画布偏移0.5像素:
canvas.getContext('2d').translate(0.5, 0.5);
5 回答1.4k 阅读
5 回答1.2k 阅读✓ 已解决
2 回答841 阅读✓ 已解决
4 回答1.6k 阅读
4 回答1.1k 阅读✓ 已解决
2 回答985 阅读✓ 已解决
4 回答957 阅读
不是抗鋸齒的問題,我也遇到過。
是因爲 canvas 尺寸和圓尺寸正好一致,而 canvas 繪製圓的時候,卻是以 radius 作爲 lineWidth 的中心而非外圍,所以導致被截取半個 lineWidth。
只要讓 canvas 尺寸向四周增加半個 lineWidth 即可。