canvas 畫的線粗而且不清晰解決辦法

本文為筆記!

如圖:


image.png

解決步驟:

1.設(shè)置canvas width和height,注意不是css的style width和height


image.png

2.繪制新的線條時先調(diào)用 ctx.beginPath();
3.在畫線時用moveTo()和lineTo()函數(shù)時,應(yīng)該將x,y參數(shù)位置的值設(shè)置為 整數(shù)+0.5,而不是整數(shù)。


image.png

下面演示效果

錯誤代碼如下:

    // 畫線
    drawGridLine(ctx, beginPoints = [], endPoints = []) {
      if (!beginPoints.length === 2 || !endPoints.length === 2) return
      ctx.moveTo(beginPoints[0], beginPoints[1]);
      ctx.lineTo(endPoints[0], endPoints[1]);
      ctx.lineWidth = 1
      ctx.strokeStyle = this.gridLineColor
      ctx.lineCap = "butt";

      ctx.stroke();
    }

效果為:


image.png

加上ctx.beginPath(),可以看到線條變淺

image.png

image.png

+0.5后:


image.png

微信截圖_20231122105042.png

參考:
canvas劃線太粗并且模糊解決方法

最后編輯于
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

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