4.18

81 阅读1分钟

canvas设置画布

/* 获取canvas元素 */

let cavasDOM=document.getElementById('canvasId');

/* 创建canvas对象 */

 let cavs=cavasDOM.getContext('2d');

  let move=false;

    cavasDOM.onmousedown= function(e){
        let x = e.offsetX;
        let y = e.offsetY;
        cavs.moveTo(x,y);
        move = true
    }
    cavasDOM.onmousemove = function(e){
        let x = e.offsetX;
        let y = e.offsetY;
        if(move){
            cavs.lineTo(x,y);
            cavs.stroke();
        }
        cavasDOM.onmouseup = function(e){
            move=false
        }
        bth.onclick = function(){
            cavs.beginPath()
            cavs.clearRect(0,0,cavasDOM.width,cavasDOM.height)
        }
    }
    

创建和关闭路径

let cavasDOM = document.getElementsByClassName('cav')[0];
    let cav = cavasDOM.getContext('2d');

    /* 如果需要闭合路径,开始新的起点路径时,都需要 */
    /* 开始创建路径 */
    // cav.beginPath();
    // /* 关闭路径 */
    // cav.closePath();


    /* 这是一种写法,纯使用线来画三角形 */
    /* 这种会出现不圆滑的瑕疵 */
    // cav.moveTo(200,100);  /* 起始点 200距离左边的大小,100距离顶部的大小*/
    // cav.lineTo(100,250);  /* 从起始点画到第二个点 */
    // cav.lineTo(350,250);  /* 从第二个点画到第三个点 */
    // cav.lineTo(200,100);  /* 从第三个点画到第一个点 */


    /* 这种方式实现起来就比较原画,很润 */
    /* 开始绘制 */
    cav.beginPath();
    cav.moveTo(200,100);/* 第一个点的位置 */
    cav.lineTo(200,250);/* 第二个点的位置 */
    cav.lineTo(350,250);/* 第三个点的位置 */


    /* 关闭路径 */
    cav.closePath();

    /*  */
    cav.fillStyle = 'red';
    cav.fill();
    cav.strokeStyle = '#C95B7A';
    cav.lineWidth = '8'
    cav.stroke();