這個(gè)是以前開發(fā)小程序的時(shí)候常見的問(wèn)題
原因是因?yàn)橐苿?dòng)端的DPR比較高
最近有個(gè)同事的PC也是模糊的,他的devicePixelRatio是1.2
常見的操作是把畫布和畫布內(nèi)的元素 都畫大dpr倍
很多人都是用 dpr * 來(lái)實(shí)現(xiàn)的
但是這樣會(huì)寫很多次
// 用 ctx.scale直接放大可以比較好的解決問(wèn)題
var c=document.getElementById("myCanvas");
c.width = dpr*canvas.offsetWidth
c.height = dpr*canvas.offsetHeight
var ctx=c.getContext("2d");
ctx.fillStyle = "#fff";
ctx.fillRect(0, 0, canvas.width, canvas.height)
ctx.scale(dpr,dpr)
ctx.font="16px Arial";
ctx.strokeText("Hello World",10,50);
ctx.strokeText("holiday",10,80);

手機(jī)效果.png