为了账号安全,请及时绑定邮箱和手机立即绑定
  • 使用beginPath和closePath可以分别控制各个图形的样式

    查看全部
  • 每个moveTo代表一个新的图形开始,但每次stroke都会把之前设置的状态再次进行绘制

    查看全部
  • canvas是基于状态的绘图,先设置状态,最后调用绘图方法

    查看全部
  • 不建议使用css来设置canvas的大小,通过属性设置是推荐的方式

    查看全部
    0 采集 收起 来源:创建canvas

    2018-05-16

  • Draw an arc use canvas

    查看全部
    0 采集 收起 来源:绘制弧和圆

    2018-05-14

  • window.onload=function (ev) {
    
            var Canvas = document.getElementById("newCanvas");
            var Canvas2D = Canvas.getContext("2d");
            Canvas2D.strokeStyle = "#0099cc";
            Canvas2D.fillStyle = "#0099cc";
            var FiveF = [0,8,16,21,29,37,42,50];
        
            function DrawTime(Canvas2D,Times,Radius,Spacing,MarginT,MarginL){
                Canvas2D.clearRect(0,0,1212,602);
                for(var i = 0;i < Times.length;i++){
                    if(Times[i]==":"){
                        var thisF = digit[digit.length-1];
                    }else{
                        var thisF = digit[Times[i]];
                    }
                    for(var ii = 0;ii < thisF.length;ii++){
                        var thisF_Row = thisF[ii];
                        for(var iii = 0;iii < thisF_Row.length;iii++){
                            Canvas2D.beginPath();
                            Canvas2D.arc(
                                (Radius*2 + Spacing)*iii + MarginT + FiveF[i]*(Radius*2 + Spacing),
                                (Radius*2 + Spacing)*ii + MarginL,
                                Radius,
                                0*Math.PI,
                                2*Math.PI,
                                false
                            );
                            // Canvas2D.stroke();
                            if(thisF_Row[iii]==1){
                                Canvas2D.fill();
                            }
                        }
                    }
                }
            }
    
            setInterval(function(){
                var Hour = new Date().getHours().toString();
                var Minute = new Date().getMinutes().toString();
                var Seconds = new Date().getSeconds().toString();
                if(Hour.length==1){
                    Hour = "0" + Hour;
                }
                if(Minute.length==1){
                    Minute = "0" + Minute;
                }
                if(Seconds.length==1){
                    Seconds = "0" + Seconds;
                }
                var Times = Hour +":"+ Minute +":"+ Seconds;
                DrawTime(Canvas2D,Times,8,3,40,170);
            },1000)
        
        }


    查看全部
  • https://img1.sycdn.imooc.com//5aec39920001c70f05730163.jpg

    查看全部
    0 采集 收起 来源:创建canvas

    2018-05-04

  • w3c建议不用css的形式去设定大小,要用内联的方式去设定大小。这其中的原因是,设定宽高不仅涉及到显示的画布大小,还有呈现的内容的分辨率问题。

    查看全部
    0 采集 收起 来源:创建canvas

    2018-05-04

  • 动手敲了下代码:
    <Canvas id="canvas" ></Canvas>
    <script>
        let tangram = [
            {p:[{x:0,y:0},{x:800,y:0},{x:400,y:400}],color:"#caff67"},
            {p:[{x:0,y:0},{x:400,y:400},{x:0,y:800}],color:"#67becf"},
            {p:[{x:800,y:0},{x:800,y:400},{x:600,y:600},{x:600,y:200}],color:"#ef3d61"},
            {p:[{x:600,y:200},{x:600,y:600},{x:400,y:400}],color:"#f9f51a"},
            {p:[{x:400,y:400},{x:600,y:600},{x:400,y:800},{x:200,y:600}],color:"#a594c0"},
            {p:[{x:200,y:600},{x:400,y:800},{x:0,y:800}],color:"#fa8ecc"},
            {p:[{x:800,y:400},{x:800,y:800},{x:400,y:800}],color:"#f6ca29"},
        ];
        window.onload = function () {
            let canvas = document.getElementById("canvas");
            canvas.width=800;
            canvas.height=800;
            let context = canvas.getContext("2d");
            for(let i = 0;i<tangram.length;i++)
                draw(tangram[i],context);
        }
        function draw(piece,cxt) {
            cxt.beginPath();
            cxt.moveTo(piece.p[0].x,piece.p[0].y);
            for( let i=1; i<piece.p.length;i++)
                cxt.lineTo(piece.p[i].x,piece.p[i].y);
    
            cxt.fillStyle=piece.color;
            cxt.fill();
        }
    </script>


    查看全部
  • canvas绘图:

    html中引用标签,<canvas></canvas>默认宽高300,150,大小设定没有单位px。 javascript中设置,canvas.width  canvas.height canvas.getContext('2d') canvas.moveTo起点 canvas.lineTo终点 canvas.stroke确定线条。 canvas.begainPath()开始绘制  canvas.closePath()清楚已有的状态 .lineWith 线条宽度 .strokeStyle线条样式 .fillStyle填充颜色 绘制弧线 context.arc{ centerx(圆心横坐标)centery(圆心纵坐标)radius(半径) startingAngle(弧线起始),endingAngle(弧线终止) anticlockwise=false(可选值:true-逆时针、false-顺时针,默认圆形顺逆方向) }

    注:

    弧度位置始终是:0,0.5pi,1pi,1.5pi,2pi(顺时针方向开始算起)。

    closePath()对fill()没有用,首尾相连。

    查看全部
    0 采集 收起 来源:绘制弧和圆

    2018-03-29

  • beginPath()代表重新开始一段路径规划 closePath()代表封闭一段路径规划 两者不需要成对出现,当路径没有形成封闭形式时,使用closePath()会自动使用一段横线来使路径封闭,如果不想出现这样的效果就是只是使用beginPath()而不使用closePath() 而fill()填充路径是会自动封闭路径的不管是否使用closePath(),因为只有封闭的图形才能被填充
    查看全部
    0 采集 收起 来源:绘制弧和圆

    2018-03-06

  • 画一个圆弧 (圆心X,圆心Y,半径,起始弧度,结束弧度,顺逆时针方向)
    查看全部
    0 采集 收起 来源:绘制弧和圆

    2018-03-06

  • 对于多个路径的时候,也就是画多个图形的时候需要使用到: context.beginPath() context.closePath()这两段代码分别在每个图形的一头一尾写入,将他们包裹起来了
    查看全部
  • canvas绘图是一种基于状态的绘图
    查看全部
  • canvas大小的设置应采用以下方式 <canvas width="1080"; height="720";></canvas> 这样同时指定了canvas画布的大小和canvas里面图画的精度 也可以用js进行设置通过canvas对象 canvasObj.width=1080; canvasObj.height=768; canvasObj.getContext();//活动canvas的上下文
    查看全部
    0 采集 收起 来源:创建canvas

    2018-03-22

举报

0/150
提交
取消
课程须知
1.要对HTML+CSS相关标签有所掌握;2.对网页布局知识有简单的了解;3.掌握一定的JS基础知识
老师告诉你能学到什么?
通过学习Cancas倒计时效果的基础知识:比如球形的绘制,动画的基础原理,让Canvas帮助我们制作出绚丽的效果,力图每一个课程除了介绍知识,还能帮助大家使用Canvas制作出属于自己的动画和游戏作品。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!