问题:canvas在高清屏显示模糊
前几天在做PDF预览时(使用mozilla的pdf.js),发现PDF文字在canvas中显示非常模糊,在网上搜出来的中文结果都没有这方面相关的,后面用英文搜索到了原因,因为我测试用的是retina屏。立即用普通显示器上试了一下,表现果然是正常的。
分析
设备像素比 = 物理像素 / 设备独立像素dip
canvas元素依赖于设备像素比,在retina屏中设备像素比是2,意味着宽度为100px的canvas,需要200px的填充才会清晰地显示。
解决方法
既然是高清屏的原因,那么只要对高清屏做下适配就OK啦。
代码
pdf.js的解决方案详见 https://github.com/lwenn/pdf-viewer-easy
// 获取设备像素比
var PIXEL_RATIO = (function () {
var ctx = document.createElement('canvas').g

在Retina屏幕中,canvas元素显示模糊。原因是设备像素比为2,需要正确设置canvas尺寸以保证清晰。解决方案是根据设备像素比调整canvas的width和height属性,以实现高清适配。

1万+

被折叠的 条评论
为什么被折叠?



