zoukankan      html  css  js  c++  java
  • 初学画布canvas的chapter1

    ——这篇读后感是我阅读《写给Web开发人员看的HTML5教程》一书中的第5章画布后的小小看法,由于编程实力有限,很多效果病没有一一去实现,所以只是停留在纸上谈兵的阶段。
    画布(canvas)作为HTML5新增的最有趣最出名的元素之一,程序员可以通过canvas元素实现非常多有趣的功能,虽然现今只是停留在2D环境,但未来不排除加入3D等环境的可能;而且我们也可以通过一些方法实现伪3D的效果。
      要使用元素canvas,我们要先对它进行定义:
      <canvas width="" height="">
      </canvas>
      元素开始与结束标记之间的区域是用于浏览器不支持canvas时显示。
      定义完元素canvas之后,我们就要在JavaScript中加入绘制命令,首先要引用canvas:
      var canvas = document.querySelector("canvas");——querySelector是jQuery引入的方法
      其次要定义它的绘制环境:
      var context = cnvas.getContext('2d');
      然后就可以开始绘制了。
      以下是阅读完第五章后了解到的有关canvas的一些应用:
        矩形,颜色和阴影及渐变
          1.矩形可以通过四种方法来创建:
            context.fillRect(x,y,w,h) ——创建被填充的矩形
            context.strokeRect(x,y,w,h) ——创建有边框无填充的矩形
            context.clearRect(x,y,w,h) ——创建橡皮擦
            context.rect(x,y,,h) ——通过路径创建矩形
          2.颜色:
            FillStyle——定义填充颜色
            strokeStyle——定义线条颜色
            颜色的有效值:
              Hexadecimal ——#FF0000
              Hexadecimal(short) ——#F00
              RGB ——rgb(255,0,0)
              RGB(percent) ——rgb(100%,0%,0%)
              RGBA ——rgba(255,0,0,1.0)
              RGBA(percent) ——rgba(100%,0%,0%,1.0)
              HSL ——hsl(0,100%,50%)
              HSLA ——hsla(0,100%,50%,1.0)
              SVG(named color) ——red
          3.阴影:
            context.shadowOffsetX = ——定义阴影的X轴偏移量
            context.shadowOffsetY = ——定义阴影的Y轴偏移量
            context.shadowColor = ——定义阴影的颜色及透明度
            context.shadpwBlur = ——定义阴影的模糊度
          4.渐变:
            var linGrad = context.createl.inearGradient(x0,y0,x1,y1);
              ——创建变量存储CanvasGradient对象并通过x0,y0,x1,y1定义渐变方向。
            linGrad.addColorStop(0.0,’red’); ——代表起点上的颜色
            linGrad.addColorStop(0.5,’yellow’); ——渐变颜色
            linGrad.addColorStop(1.0,’purple’); ——代表终点上的颜色
        路径绘图
          线段:
            初始化路径:beginPath()
            定义路径轨迹:moveTo()和lineTo()
            画线:stroke()
          曲线:
            context.quadraticCurveTo(cpx,cpy,x,y)
            context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)
          弧线:
            context.artTo(x1,y1,x2,y2,radius)
            context.arc(x,y,radius.startAngle,endAngle,anticlockwise)
          轮廓:
            context.lineWidth = [] ——定义线条粗细
            context.lineCap = [] ——定义线条两端线端
            context.lineJoin = [] ——定义交点
          填充:
            context.fill()
          遮罩:
            context.clip() ——定义路径图不被画出来

  • 相关阅读:
    (转)CentOS 6.5下Redis安装详细步骤
    (转)FastDFS_v5.05安装配置
    Mybatis 动态获取字段值(不需要创建javabean)
    Apache+tomcat集群配置
    Get Started and Make Progress in Machine Learning
    NLTK 模块不完全介绍
    python __future__
    python __init__.py和__all__
    自然语言处理
    Python搜索路径
  • 原文地址:https://www.cnblogs.com/jiangwenjie/p/5734588.html
Copyright © 2011-2022 走看看