使用canvas动态绘制图形时,边缘处会被拉伸,模糊,甚至出现锯齿状,下面几行代码用于解决此问题
出现原因
手机的宽是720像素的, 而这个canvas是按照小于720像素画出来的, 所以在720像素的手机上显示时, 这个canvas的内容其实是经过拉伸的, 所以会出现模糊和锯齿
解决方法
原本的canvas同比例放大然后使用scale又把他缩放,设置的行内样式把canvas画布缩放为原本的比列1
2
3
4
5
6
7
8// 230. 260 是你要设置的画布宽高
myCanvas = document.getElementById('canvas')
ctx =myCanvas.getContext('2d')
myCanvas.style.width = 230 + 'px'
myCanvas.style.height = 260 + 'px'
myCanvas.height = 260 * window.devicePixelRatio
myCanvas.width = 230 * window.devicePixelRatio
ctx.scale(window.devicePixelRatio, window.devicePixelRatio)