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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容