Canvas 繪製點、路徑

頁面

<html>
    <!--Canvas 的寬高要在頁面中設置,css 或 js 中設置的寬高不正常-->
    <body>
        <canvas id="canvas" width="800" height="800">
                <%--瀏覽器不支持canvas 標籤--%>
        </canvas>
    </body>
</html>

Js

獲取畫筆

function getCTX() {
    let c = document.getElementById("canvas");
    let ctx = c.getContext("2d");
    ctx.clearRect(0,0,c.width,c.height);
    return ctx;
}

畫點示例

function drawPoint(point) {
    // 獲取畫筆
    let ctx = getCTX();
    
    // 設置繪製顏色
    ctx.fillStyle = "#0000FF";
    // 繪製成矩形
    ctx.fillRect(point.x - 2, point.y - 2, 4, 4);
    
    // 設置字體樣式
    ctx.font = "16px bold 宋體";
    // 繪製文字
    ctx.fillText("(" + point.x + ", " + point.y + ")", point.x, point.y);
}

畫路徑(多條線)示例

function drawPath(path){
    ctx.beginPath();

    //如果顏色需要變更,必須先開始新的路徑,否則全部的線顏色由最後一次設置的顏色決定
    ctx.strokeStyle = "#0000FF";
    for(var i = 0; i < path.length - 1; i++){
        drawLine(ctx, points[path[i]], points[path[i+1]]);
    }
}
/**
 * 畫線
 */
function drawLine(ctx, a, b){
    ctx.moveTo(a.x, a.y);
    ctx.lineTo(b.x, b.y);
    ctx.stroke();
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章