• HTML canvas 绘图


     20118-4-9 :”canvas 绘图: 

                 canvas 就像一张纸,可以定义大小 并可以在上面绘制一些图形形状; 

                要点: 

                              canvas 在使用画布前需要在标签内定义画布大小

                              例:  <canvas id="myca"      width="400"     height="400">  </canvas>    // 宽高一定要在canvas内赋值,不可css赋值; 

                                      

                                             var c=document.getElementById("myca");         //获取画布 canvas
                                             var ctx=c.getContext("2d");                                // 声明绘制环境为2d

                                          绘制线条 : crt.stroke();    

       

    •       实例:    绘制一条 L 直线: 

                                          ctx.beginPath();   //  开始起笔绘图

                                          

                                   补充 : 

                                                      ctx.strokeStyle = "green";       // 绘制 线条的颜色

                                                        ctx.lineTo(x,y);                     // 结束点可以有多个;  绘制想要完成的图形; 

        

    •       实例:     绘制圆形:  

                                    ctx.beginPath();    //  另外起笔

                                  

                                             <canvas id="myca"      width="400"     height="400">  </canvas>   

                                             var c=document.getElementById("myca");         //获取画布 canvas
                                             var ctx=c.getContext("2d");                                // 声明绘制环境为2d

                                             ctx.arc(a,b,c,d,e,true);                                       //  绘制圆形的参数

                                             a = 圆心的x坐标              b = 圆心的y坐标            c = 圆心的半径r            d 表示开始的圆角度       e 表示结束的角度      true= 顺时针绘图     false = 逆时针绘图

                                             结束角 : Math.PI*2 = 360° ;      Math.PI*1 = 180° ; 

                                                例: ctx.art(100,100,60,0, Math.PI*2,true)

                                                       写完后: ctx.closePoth()          //  告诉浏览器爸爸写完了;

                                                                      ctx.fill()                      //  让浏览器绘制;

                                         

                                        

    •   实例:      绘制矩形:

                                          

                                               <canvas id="myca"      width="400"     height="400">  </canvas>   

                                                    var c=document.getElementById("myca");         //获取画布 canvas
                                                    var ctx=c.getContext("2d");                                // 声明绘制环境为2d      

                                            1.      ctx.fillStyle = 'gray';                                          //定义填充样式

                                            2.     var  gr=crt.createLinearGradient(a,b,c,d);        // 绘制渐变         crt.createLinearGradient(a,b,c,d);   //  x y 右上角x  左下角y

                                                         gr.addcolorstop(a,b);                                 // a表示从0-1     b为颜色值

                                                        例;  gr.addcolorstop(0,"red"); 

                                                              gr.addcolorstop(0.5,"greey");

                                                              ctx.fillstyle = gr;                 // 将渐变填充赋值给填充色

     
                                                  ctx.strokeStyle = 'green';                                 //定义线性样式
                                                  ctx.lineWidth = '10';                                         //定义线性的线宽,宽是从矩形框向内外两边同时加粗的


                                                  ctx.fillRect(100,50,100,100);                           //定义面性矩形[这四个参数分别是(横坐标,纵坐标,宽,高)]{这是灰色的矩形}

                                                              ctx.fillRect绘制出来的矩形仅填充
                                                  ctx.strokeRect(300,50,100,100);                    //定义线性矩形[这四个参数分别是(横坐标,纵坐标,宽,高)]{这是绿色的矩形框}

                                                              ctx.strokeRect绘制出来的矩形仅边框颜色
                                                  ctx.rect(100,200,100,100);                             //定义矩形(包括面性或者线性)

                                                              ctx.rect绘制出来的矩形为填充和边框
                                                 ctx.fill();ctx.stroke();                                         //定义到底是线性还是面性,线面性上单独的在上面已经有了,线面性是定义在同个矩形就是灰色矩形加个绿色的边框

      实例 :

                        

                    重点笔记

                      1.   ctx.fill();   停笔  已经绘制完成  ;                              //  仅图形 线性不算

                      2.   ctx.stroke();   告诉浏览器 可以开始绘制了             //  仅图形 线性不算

                       上面的代码 效果图

  • 相关阅读:
    MySQL系列(二)--数据类型
    并发和多线程(十)--锁状态概念
    并发和多线程(九)--并发容器J.U.C和lock简介
    并发和多线程(八)--线程安全、synchronized、CAS简介
    Nuxt 2.3.X 配置babel
    Nuxt 2.3.X 配置sass
    vscode写vue模板--代码片段
    ES6和ES5中的this指向问题
    TypeScript -- JavaScript的救赎
    Pycharm 查看一个类的继承关系图
  • 原文地址:https://www.cnblogs.com/zxy-web/p/8776357.html
Copyright © 2020-2023  润新知