canvals

作者: 可乐_d001 | 来源:发表于2017-10-30 19:41 被阅读0次

    1,canvas 1本身就是h5的一个标签,该标签用来在html页面中圈出一块区域用来作为画布绘制图形,
    2,兼容性:
    如果浏览器不支持canvas标签,则会把该标签中的文本显示出来 ie8及之前的浏览器不支持
    3,在设置画布尺寸时必须使用标签下的width和height属性,不能用css样式
    <canvas id = 'canvas',width = 500px''height = '500px'>
    你的浏览器不支持这个标签
    </canvas>
    开始绘制啦
    //首先要获取到canvas标签
    var canvas = document.querySelector('#canvas')
    //创建画笔
    var ctx= canvas.getContext('2d')
    //调用beginPath()开始绘制
    ctx.beginPath();
    //设置绘画的起始点
    ctx.moveTo(100,100)
    //设置绘画的经过点,最后一个坐标就是终点坐标
    ctx.lineTo(200,200)
    ctx.lineTo(300,100);
    //用closePath()把起始点和终点连接起来
    ctx.closePath()
    //调用绘制方法绘制图案
    ctx.strokeStyle = 'red'//改线框颜色的属性,在调用stroke()前有效
    ctx.lineWidth = 10;//修改线框粗细的属性
    ctx.lineCap='round';//修改线框两端的样式
    ctx.lineJoin='round';//修改途经点的交点样式
    ctx.shadowColor='gray';
    ctx.shadowOffsetX=5;
    ctx.shadowOffsetY=5;
    ctx.shadowBlur=5;
    ctx.stroke();//用来描边的
    // 在调用fill()方法前设置填充样式
    ctx.fillStyle='red';
    ctx.fill();//用来填充的

    //绘制矩形
    var can=document.querySelector('#canvas');
    var ctx=canvas.getContext('2d');
    ctx.beginPath();
    ctx.strokeStyle='red';
    ctx.strokeRect(10,10,100,300);
    ctx.fillStyle='red';
    // x,y,w,h
    ctx.fillRect(150,50,100,300);
    ctx.fillRect(50,150,300,100);
    //绘制弧线
    x,y,r,startAngle,endAngle,direction
    //贝塞尔曲线
    //清理画布
    //定时器动画
    requestAnimationFrame()h5提供的浏览器方法,由window调用,该方法接受一个函数作为参数,通过递归或者死循环让函数中的代码会被反服执行,该方法控制函数执行频率是显示器的刷新频率
    function run() {
    ctx.clearRect(0,0,500,500);
    // 绘制新的一帧
    x1+=speedX;
    y1+=speedY;
    ctx.beginPath();
    ctx.arc(x1,y1,50,Math.PI/1800,Math.PI2,false);
    ctx.stroke();
    window.requestAnimationFrame(run);//控制执行时机
    if (x1>=canvas.width-50) {
    speedX=-1;
    }
    if (y1>=canvas.height-50) {
    speedY=-1;
    }
    }
    run();

    相关文章

      网友评论

          本文标题:canvals

          本文链接:https://www.haomeiwen.com/subject/okispxtx.html