• h5学习-canvas绘制矩形、圆形、文字、动画


    绘制矩形
    <!
    DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>canvas绘制矩形</title> <script type="text/javascript" src="canvas.js"></script> <style type="text/css">//让矩形显示置顶 body{ margin: 0; padding: 0; } </style> </head> <body onload="draw('canvas');"> <canvas id = "canvas" width="500" height="350"></canvas> </body> </html>

    //canvas.js
    function
    draw(id){ var canvas = document.getElementById(id); var context = canvas.getContext('2d'); context.fillStyle = "#000"; context.strokeStyle = "#f60"; context.lineWidth = 5; context.fillRect(0,0,500,350); context.strokeRect(50,50,180,120); }

    绘制一个矩形:
    1。获取canvas元素 getElementById()
    2。取得上下文 getContext()
    3。填充与绘制边框 fill() stroke()
    4。设置绘制样式 fillStyle stokeStyle 属性
    5。指定画笔宽度 getcontext().linewidth
    6。设置颜色值 通过第4步的属性来设置
    7。绘制矩形 context.fillRect(x,y,width,height)
    context.strokeRect(x,y,width,height)
     
     绘制圆形:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>canvas绘制圆形</title>
        <script type="text/javascript" src="canvas.js"></script>
        <style type="text/css">
            body{
                margin: 0;
                padding: 0;
            }
        </style>
    </head>
    <body onload="draw('canvas');">
    <canvas id = "canvas" width="500" height="500"></canvas>
    </body>
    </html>
    function draw(id){
        var canvas = document.getElementById(id);
        var context = canvas.getContext('2d');
        context.fillStyle = "#f1f2f3";
        context.fillRect(0,0,500,500);//背景的绘制
    
        for(var i = 0;i<10;i++){
            context.beginPath();
            context.arc(25*i,25*i,10*i,0,Math.PI*2,true);
            context.closePath();
            context.fillStyle = "rgba(255,0,0,0.25)";
            context.fill();
        }
    
    
    }

    效果图;

    绘制一个圆形:
    1。创建开始路径,context.beginPath()
    2.创建图形路径,context.arc(x,y,radius,starAngle,endAngle,anticlockwise);
    var radius = degress*Math.PI/180, Math.PI=180度
    anticlockwise 是否顺时针
    3.创建完成关闭路径,context.clasePath()
    4。设置绘制样式然后调用绘制方法进行绘制,context.filllStyle = 'rgba(255,0,0,0.25)';context.fill();
     
     
    绘制文字:
    function draw(id){
        var canvas = document.getElementById(id);
        var context = canvas.getContext('2d');
        context.fillStyle = "#a0f";
        context.fillRect(0,0,800,300);//背景的绘制
    
    
        context.fillStyle = "#fff";//文字的颜色
        context.strokeStyle = "#fff";
    
        context.fillText("小柠檬呢",50,50);
        context.strokeText("小小的柠檬",50,100);

    绘制动画

    var i;
    function draw(id){
        var canvas = document.getElementById(id);
        context = canvas.getContext('2d');
        setInterval(painting,100);//设置动画的间隔时间。第一个参数表示执行动画的函数,第二个函数 间隔时间
        //通过不断地变化xy坐标来实现动画效果。clearRect(),将画布整体或者局部擦除。
        i=0;
    }
    
    
    function painting(){
        context.fillStyle = "#f00";
        context.fillRect(i,0,10,10);
        i=i+20;
    }
     
  • 相关阅读:
    利用ItextPdf、core-renderer-R8 来生成PDF
    把war包放到Tomcat安装文件夹下,不能直接訪问的解决方式
    我的RTOS 之六 -- Touch移植(s5pv210+threadx+ucgui+touch)
    数据库可用率监控工具
    9款极具创意的HTML5/CSS3进度条动画(免积分下载)
    ODBC与JDBC比較
    ORA-02287: 此处不同意序号
    mongodb创建、更新、删除
    jcenter那些事儿
    C#里的应用程序域AppDomain
  • 原文地址:https://www.cnblogs.com/mengxiao/p/6598374.html
Copyright © 2020-2023  润新知