解決高分屏下canvas繪制模糊的問題

/**
 * 獲取屏幕比
 * @param {Object} context 上下文環(huán)境
 */
function getPixelRatio(context){
    let backingStore = context.backingStorePixelRatio || context.webkitBackingStorePixelRatio || context.mozBackingStorePixelRatio || context.msBackingStorePixelRatio || context.oBackingStorePixelRatio || context.backingStorePixelRatio || 1;
    return (window.devicePixelRatio || 1) / backingStore;
}

/**
 * 繪制方法
 * @param {Object} canvas 畫布畫板
 * @param {Number} width 1倍屏下的寬度
 * @param {Number} height 1倍屏下的高度
 */
function draw(canvas, width, height){
    const ctx = canvas.getContext('2d');
    
    // 設(shè)置樣式大?。ú恢肋@么描述對不對)
    canvas.style.width = width + 'px';
    canvas.style.height = height + 'px';

    // 設(shè)置實際顯示大小
    canvas.width = width * getPixelRatio(ctx);
    canvas.height = height * getPixelRatio(ctx);

    // 詳細(xì)繪制方法寫在這里
    ......
}

// 獲取畫板
const canvas = document.getElementById('showPic');
// 方法調(diào)用
draw(canvas,600,400);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容