Canvas画布绘制文字,字体模糊问题

1,758 阅读1分钟

字体模糊是因为canvas是通过像素点进行绘制,让屏幕大小与屏幕分辨率不同就会出现模糊问题。可以通过获取屏幕与分辨率的比值进行比例放大

    // 屏幕与物理像素比
    dpr = window.devicePixelRatio || 1,
    // 画布与浏览器比
    
    bsr = C['webkitBackingStorePixelRatio'] ||
        C['mozBackingStorePixelRatio'] ||
        C['msBackingStorePixelRatio'] ||
        C['oBackingStorePixelRatio'] ||
        C['backingStorePixelRatio'] || 1;
    let proportion = dpr / bsr

加不同前缀来识别不同浏览器,有一些浏览器无法识别BackingStorePixelRatio属性则默认为1