html5 canvas中绘制字体与图片以及图形模糊问题解决


当前第2页 返回上一页

另一个是backingStorePixelRatio,你会看到类似下面这样的代码,这个backingStorePixelRatio已经在新浏览器中被去掉了,我试过chrome与edge都已经不存在了。


1

2

3

4

5

6

7

var ctx = document.createElement("canvas").getContext("2d"),

        dpr = window.devicePixelRatio || 1,

        bsr = ctx.webkitBackingStorePixelRatio ||

              ctx.mozBackingStorePixelRatio ||

              ctx.msBackingStorePixelRatio ||

              ctx.oBackingStorePixelRatio ||

              ctx.backingStorePixelRatio || 1

我在研究时用了动态创建canvas的方法,样式的width/height乘以缩放比devicePixelRatio得到canvas的属性width/height。

  这不是完美的解决方案,因为在浏览器的dpi发生变化时,比如用户设置,或者从一个高dpi显示器移动窗口到低dpi显示器时发生。(我1080p普通23寸显示器是1.25倍,平板电脑是2.0倍,之间拖放窗口就会发生)

解决方法
1、动态创建并监视window的onresize事件,根据devicePixelRatio重建canvas。
2、动态调整canvas样式的宽高,同样监视onresize事件。再配合CanvasRenderingContext2D.scale动态缩放绘制内容的比例。

浏览器都没有devicePixelRatio改变的事件,或者dpi改变的事件,如果你知道,请留言。

以上就是html5 canvas中绘制字体与图片以及图形模糊问题解决的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

html5中websocket是什么意思

h5的audio音频和video视频使用详解

如何使用css更改占位符颜色?(代码示例)

h5canvas实现刮刮乐效果代码

html5的优势有哪些

秀野堂html5入门视频教程的资源推荐

url完整结构以及同源跨域处理的介绍

h5各种头部meta标签的功能示例代码分析

什么是notifications?html5 notifications桌面提醒

html5实现拖拽批量上传文件的代码

更多相关阅读请进入《canvas》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...