问题: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 () {