Canvas(画布)
   基本内容
     简单来说,HTML5提供的新元素<canvas>
     Canvas在HTML页面提供画布的功能
       在画布中绘制各种图形
     Canvas绘制的图形与HTML页面无关
       无法通过DOM获取绘制的图形
       无法为绘制的图形绑定DOM事件
     只能使用Canvas提供的API
     Canvas用途
       在HTML页面中绘制图表(例如柱状图、饼状图等)
       网页游戏 - Flash技术
         使用HTML5中的Canvas
   如何使用Canvas
     在HTML页面中定义<canvas>元素
     在javascript代码中
       获取<canvas>元素
       创建画布对象
         getContext('2d')方法
       使用Canvas提供的API
   绘制图形
     绘制矩形
       fillRect(x,y,width,height) - 实心矩形
         x和y - 矩形的左上角坐标值
  width - 设置矩形的宽度
  height - 设置彗星的高度
       strokeRect(x,y,width,height) - 空心矩形
       clearRect(x,y,width,height)
         清除指定区域的矩形
     设置颜色
       fillStyle - 设置填充颜色
       strokeStyle - 设置描边颜色
       globalAlpha - 设置透明度(0-1)
     设置渐变
       线型渐变 - createLinearGradient(x1,y1,x2,y2)
         具有基准线 - 起点(x1,y1)和终点(x2,y2)
       扇形(射线)渐变 - createRadialGradient(x1,y1,r1,x2,y2,r2)
         具有柱形(锥形) - 两个圆的面积
  参数
    x1和y1 - 第一个圆的圆心坐标值
    r1 - 第一个圆的半径
    x2和y2 - 第二个圆的圆心坐标值
    r2 - 第二个圆的半径

绘制图形
     绘制文字
       方法
         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)

H5(三)的更多相关文章

  1. PC/APP/H5三端测试的相同与不同

    随着手机应用的不断状态,同一款产品的移动端应用市场占相较PC端也越来越大,那么app与PC端针对这些产品的测试有什么相同与不同之处呢?总结如下: 首先谈一谈相同之处: 一,针对同一个系统功能的测试,三 ...

  2. PC、APP、H5三端测试的相同与不同

    随着手机应用的不断状态,同一款产品的移动端应用市场占相较PC端也越来越大,那么app与PC端针对这些产品的测试有什么相同与不同之处呢?笔者总结如下: 首先谈一谈相同之处... 一,针对同一个系统功能的 ...

  3. PC、APP、H5三端测试的区别

    一,针对同一个系统功能的测试,三端所测的业务流程是一样的 二,一般情况下手机端和PC端都对应一套后台服务,比如说笔者公司所开发的互联网金融平台,整个平台做了分布式服务架构,后台服务包括用户服务.交易服 ...

  4. Css--深入学习之三角形气泡窗

    本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 一.三角形的实现 首先,先画了三角形,后面二.三都是根据这个 ...

  5. SOA架构改造简单记录

    前端支持PC.Mobile.H5三个平台 nginx做负载均衡,主备机,keepalived,检测脚本,master和slave切换时完成相关工作: web做集群,web仅仅是web,与后端服务模块采 ...

  6. 阿里移动云专场专题.md

    小激动 一年一度的阿里云栖大会是我们开发者的盛会,带着着激动的心情参加了这次开发者盛会,二话不说进入会场就被震感到了,先来张图聊表敬意. 主会场马云爸爸还是很有范的,将未来定义为无法定义,在这里宣布成 ...

  7. html2canvas - 项目中遇到的那些坑点汇总(更新中...)

    截图模糊    原理就是讲canvas画布的width和height放大两倍. 后来学习canvas的时候,才了解到这种写法不同于css的宽高设置, 因为css里的只是展示画布显示的大小,不像这样是c ...

  8. CSS基础和布局复习

    table布局 div布局优势   浏览器支持完善   表现和结构分离   样式设计控制功能强大   可以继承,层叠处理 Transitional // 松散过度型 Strict //严格型 Fram ...

  9. H5横向三栏布局

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

随机推荐

  1. 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(三)

    Spring+SpringMVC MVC呢,现在似乎越来越流行使用SpringMVC框架,我自己用的感觉,是非常好,确实很舒服,配置一开始是麻烦了一点点,但是后续的开发真的是很清爽! SpringMV ...

  2. SQL Server 2008 允许远程连接的配置

    如果无法通过IP地址远程连接你的SQL Server 2008服务器,可以参考下面的内容进行设置.在进行下述设置之前,应该确保你的网络已经安装设置完毕,服务器已经正常连接到网络中. 1.单击Windo ...

  3. vm.max_map_count

    Virtual memoryedit Elasticsearch uses a hybrid mmapfs / niofs directory by default to store its indi ...

  4. 图解Netty之Pipeline、channel、Context之间的数据流向。

    声明:本文为原创博文,禁止转载.       以下所绘制图形均基于Netty4.0.28版本. 一.connect(outbound类型事件)  当用户调用channel的connect时,会发起一个 ...

  5. win7系统的右键菜单只显示一个白色框不显示菜单项 解决办法

    如上图所示,桌面或其他大部分地方点击右键菜单,都只显示一个白色框,鼠标移上去才有菜单项看,并且效果很丑 解决办法: 计算机-右键-属性-高级-性能-设置-视觉效果-淡入淡出或滑动菜单到视图,将其前面的 ...

  6. Java学习笔记-按值传递

    参数的值传递 实参必须与方法中次你故意的参数在次序和数量上匹配,在类型上兼容.类型兼容是指不需要经过显式的类型转换,实参的值就可以传递给形参.如将int型的实参值传递给double型形参. 当调用方法 ...

  7. 开源项目GitHub

    GitHub 手把手教你如何加入到github的开源世界! http://www.open-open.com/lib/view/open1396580186465.html 如何在 Github 上发 ...

  8. HDU4738 tarjan割边|割边、割点模板

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4738 坑点: 处理重边 图可能不连通,要输出0 若求出的结果是0,则要输出1,因为最少要派一个人 #inc ...

  9. Flask安装过程中“配置虚拟环境”步骤报错,找不到activate.bat

    Run virtualenv venv --no-setuptools http://stackoverflow.com/questions/21826859/setting-up-a-virtual ...

  10. css3渐变

    background:-webkit-linear-gradient | radial-gradient (水平起点 垂直起点 , 颜色1  百分比%, 颜色2  百分比%, ... ,颜色N 100 ...