扫码关注官方订阅号
用Canvas绘制出来的圆0度90度180度360度的地方明显比其他地方要平一些~ 是canvas本身的问题还是有其他解决方法
小伙看你根骨奇佳,潜力无限,来学PHP伐。
不是抗鋸齒的問題,我也遇到過。
是因爲 canvas 尺寸和圓尺寸正好一致,而 canvas 繪製圓的時候,卻是以 radius 作爲 lineWidth 的中心而非外圍,所以導致被截取半個 lineWidth。
只要讓 canvas 尺寸向四周增加半個 lineWidth 即可。
可能是画布或者浏览器没有开启抗锯齿的原因(旁边的文字也有锯齿)。手动开启HTML5 Canvas的抗锯齿可以用
canvas.getContext('2d').imageSmoothingEnabled = true;
或者直接把整个画布偏移0.5像素:
canvas.getContext('2d').translate(0.5, 0.5);
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
不是抗鋸齒的問題,我也遇到過。
是因爲 canvas 尺寸和圓尺寸正好一致,而 canvas 繪製圓的時候,卻是以 radius 作爲 lineWidth 的中心而非外圍,所以導致被截取半個 lineWidth。
只要讓 canvas 尺寸向四周增加半個 lineWidth 即可。
可能是画布或者浏览器没有开启抗锯齿的原因(旁边的文字也有锯齿)。手动开启HTML5 Canvas的抗锯齿可以用
或者直接把整个画布偏移0.5像素: