canvas模糊解决

这个是以前开发小程序的时候常见的问题
原因是因为移动端的DPR比较高

最近有个同事的PC也是模糊的,他的devicePixelRatio是1.2

常见的操作是把画布和画布内的元素 都画大dpr倍
很多人都是用 dpr * 来实现的
但是这样会写很多次

  // 用 ctx.scale直接放大可以比较好的解决问题
    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);
手机效果.png

你可能感兴趣的:(canvas模糊解决)