zoukankan      html  css  js  c++  java
  • HTML5--Canvas

     * Canvas

       * 绘制图形

         * 绘制文字

           * 方法

             * fillText(text,x,y) - 实心文字

              * text - 绘制的文字内容

              * x和y - 绘制的坐标值

            * strokeText(text,x,y) - 空心文字

           * 属性

             * font - 类似于CSS中的font属性

            * textAlign - 设置文字的水平方向对齐

              * left - 左对齐

              * center - 水平居中

              * right - 右对齐

            * textBaseline - 设置文字的垂直方向对齐

              * top - 顶部对齐

              * middle - (垂直)居中对齐

              * bottom - 底部对齐

              * hanging - 悬挂基线

              * alphabetic - 字母基线

             * 注意

              * 无论是水平方向还是垂直方向对齐,基准线对齐,并不是文字对齐

              * 无论是水平方向还是垂直方向对齐,并不是必要的属性(不使用也是可以的)

         * 阴影效果

           * shadowColor - 设置阴影颜色

           * shadowOffsetX - 设置水平方向阴影

           * shadowOffsetY - 设置垂直方向阴影

           * shadowBlur - 设置阴影的模糊程度

         * 创建路径

           * (标识)方法

             * beginPath() - 表示开始创建路径

            * closePath() - 表示结束创建路径

           * 设置方法

             * rect(x,y,width,height) - 设置矩形形状

              * x和y - 设置矩形的左上角坐标值

              * width和height - 设置矩形的宽度和高度

            * arc(x,y,radius,startAngle,endAngle,direction) - 设置圆形形状

              * x和y - 设置圆形的圆心坐标值

              * radius - 设置圆形的半径

              * startAngle和endAngle - 设置圆形的起始位置

              * direction - 按照顺时针或逆时针绘制

           * 绘制方法

             * stroke() - 绘制轮廓

            * fill() - 绘制填充

         * 绘制线条(直线和折线、多边形) - 创建路径

           * moveTo(x,y) - 设置这条线的起点坐标值

           * lineTo(x,y) - 设置这条线的终点(折点)坐标值

       * 设置线条

         * lineWidth - 设置线条的宽度

           * 默认值为1(px)

         * lineCap - 设置线条端点的形状

           * butt - 默认值,平直

           * round - 圆角

           * square - 正方向

         * lineJoin - 设置两条线焦点的形状

           * miter - 默认值,尖角

           * round - 圆角

           * bevel - 斜角

         * miterLimit - 配合lineJoin使用

           * lineJoin设置为miter,该属性值设置尖角的延伸范围

     * Canvas处理图片

       * 绘制图片

         * drawImage(img,x,y) - 按照图片原大小加载

           * img - 当前加载(绘制)的图片

           * x和y - 绘制图片的坐标值(左上角)

         * drawImage(img,x,y,width,height) - 按照指定大小加载图片

           * img - 当前加载(绘制)的图片

           * x和y - 绘制图片的坐标值(左上角)

           * width和height - 设置绘制图片显示的宽度和高度

         * 注意

           * 必须保证图片加载完毕(onload事件)后,再绘制图片

       * 平铺图片

         * createPattern(img,type)

           * img - 平铺的图片

           * type - 平铺的方式

             * repeat - 平铺

            * no-repeat - 不平铺

            * repeat-x - 水平方向平铺

            * repeat-y - 垂直方向平铺

         * 注意

           * 必须保证图片加载完毕(onload事件)后,再绘制图片

       * 切割图片

         * clip() - 切割(按照创建路径使用)

       * 画布方法

         * scale(x,y) - 缩放(缩小或放大)

           * x - 表示水平方向的缩放

           * y - 表示垂直方向的缩放

           * 参数的取值

             * 如果为1的话,表示不缩放(原大小)

            * 如果小于1的话,表示缩小

            * 如果大于1的话,表示放大

         * translate(x,y) - 重新定位(x,y)

           * x和y - 新的坐标值

           * 注意 - x和y是相对于上次定位坐标值

         * rotate(旋转角度) - 旋转画布

           * 公式为 degrees * Math.PI / 180;

     * Chart.js - Canvas的JS库

       * 作用 - 提供各种图表

       * 如何使用

         * 在HTML页面中引入Chart.js文件

         * 在HTML页面中定义<canvas>元素

         * 在javascript代码中

           * 获取<canvas>元素

           * 创建画布对象

             var context = canvas.getContext("2d");

           * 通过画布对象,创建Chart对象

             var chart = new Chart(context);

           * 利用Chart对象调用API方法

             var data = [];

            chart.Pie(data);

       * 提供6种图表

         * 柱状图 - Bar(data,options)

         * 饼状图 - Pie(data,options)

         * 曲线图 - Line(data,options)

         * 环形图 - Doughnut(data,options)

         * 雷达图 - Radar(data,options)

         * 极地区域图 - PolarArea(data,options)

     * 作业

       * 位置、大小、颜色都随机的圆形

       * 将Chart.js其他4种图表实现一遍

     * 扩展内容

       * 前端Web开发时,建议使用以下几种浏览器

         * Chrome - 两个版本 - 版本更新过于频繁

           * 开发版本

             * 功能较新

            * 不稳定

           * 正式版本

             * 功能较旧

            * 稳定

           * Chrome OS

         * Firefox - 两个版本

           * 开发版本 - (开发)功能多

           * 正式版本

           * FireFox OS - 移动操作系统

             * 开发使用HTML|CSS|JAVASCRIPT

         * Safari

      * 内向问题

        * 面试 - 你认为你的性格,是外向还是内向?

          * 内向 - 沟通能力比较差,团队协作出问题

          * 外向 - 担心工作时,不够专心

        * 良好的沟通能力

          * 程序员 - 形成程序员思维

          * 都是学习和培养

      * Markdown编辑器

        * 支持Markdown文件的扩展名为".md"

      * 前面的内容忘记

        * 个人建议 - 在案例中复习

  • 相关阅读:
    HDU6030 Happy Necklace(推导+矩阵快速幂)
    威尔逊定理总结
    卢卡斯定理总结
    扩展欧几里得总结
    HDU2602 Bone Collector(01背包)
    离散数学--集合论
    Linux超全实用指令大全
    HDU6715 算术(莫比乌斯反演)
    莫比乌斯反演总结
    k8s-基于kubeasz项目二进制部署k8s集群
  • 原文地址:https://www.cnblogs.com/baiyanfeng/p/5042889.html
Copyright © 2011-2022 走看看