——这篇读后感是我阅读《写给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() ——定义路径图不被画出来

初学画布canvas的chapter1的更多相关文章

  1. 初学画布canvas的chapter2

    文本 1.字体属性 context.font = [css font property] ——使用CSS规范,语法跟CSS字体速记符号一致 ——line-height无效,并永远忽略 Context. ...

  2. HTML 5 画布(canvas)

    canvas 元素使用 JavaScript 在网页上绘制图像,本身是没有绘图能力. canvas 是一个矩形区域,可以控制其每一像素. canvas 拥有多种绘制路径.矩形.圆形.字符以及添加图像的 ...

  3. HTML5画布Canvas

    一.Canvas概念介绍 1.概念 Canvas : 画布 2.作用 : HTML5 Canvas 元素用于图形的绘制, 通过脚本(通常是JavaScript)来完成.它本身只是个图形容器,必须使用脚 ...

  4. HTML5画布(CANVAS)速查简表

    HTML5画布(CANVAS)速查简表 http://www.webhek.com/misc/html5-canvas-cheat-sheet/

  5. PHP《将画布(canvas)图像保存成本地图片的方法》

    用PHP将网页上的Canvas图像保存到服务器上的方法 2014年6月27日 歪脖骇客 发表回复 8 在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审 ...

  6. Tkinter画布-Canvas

    Python - Tkinter画布-Canvas: Canvas是一个长方形的面积,图画或其他复杂的布局.可以放置在画布上的图形,文字,部件,或是帧 Canvas是一个长方形的面积,图画或其他复杂的 ...

  7. 转载:将画布(canvas)图像保存成本地图片的方法

    之前我曾介绍过如何将HTML5画布(canvas)内容转变成图片形式,方法十分简单.但后来我发现只将canvas内容转变成图片输出还不够,如何能将转变后的图片保存到本地呢? 其实,这个方法也是非常简单 ...

  8. 面向画布(Canvas)的JavaScript库

    面向画布(Canvas)的JavaScript库 总结 每个库各有特色,根据需求选择   学习要点 面向画布(Canvas)的JavaScript库 EaselJS 是一个封装了 HTML5 画布(C ...

  9. 学习前端第二天心得体会(初步了解HTML5的部分API以及画布Canvas)

    一.HTML5部分API 1.选择器querySelector和querySelectorAll 1.1.querySelector:返回文档中匹配指定的CSS选择器的第一元素.  document. ...

随机推荐

  1. BizTalk开发系列(二十七) 异常管理中的数据编码

    在BizTalk的异常管理解决方案中.大部分是通过订阅相关的升级属性来接收消息,并在自定义的流程或发送端口进行处理.但不管怎样,一般会定义统一的 错误消息Schema,这样不仅可以让我们通过异常信息快 ...

  2. Unity学习疑问记录之新GUI

    学习Unity 4.6新GUI系统 http://segmentfault.com/a/1190000000642686

  3. dom4j解析xml文档&保存数据的乱码问题

    package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...

  4. CentOS7配置日志(VirtualBox)

    版本为CentOS-Minimal 1.VirtualBox下安装CentOS. 新建虚拟机 下载CentOS,放入盘片,启动虚拟机,按提示开始安装(建议内存1G,硬盘10G以上)   2. 设置网络 ...

  5. cocos2d-x-3.11.1 初使用

    1. 引擎子系统包括: 世界编辑器.渲染系统.人机交互系统.动画系统.音频系统.物理引擎.网络接口 等 2. cocos2d-x 特点:开源的.跨平台的. cocos2d-x的发展过程: cocos2 ...

  6. C# 获取DataTable数据导出到Excel

    protected void ExportExcel(System.Data.DataTable dt) { ) return; Microsoft.Office.Interop.Excel.Appl ...

  7. Java学习-044-文件拷贝

    不用说了,又是一个经常用到的方法,直接上码了...敬请各位小主参阅!若有不足,敬请指正,非常感谢! 文件拷贝源码: /** * <strong>文件拷贝</strong>< ...

  8. Force StyleCop to Ignore a File

    You can quickly force StyleCop to ignore files in a project by manually modifying the project file, ...

  9. c# signalr聊天室开源资料

    SignalR+LayIM源码: http://www.cnblogs.com/panzi/p/5742089.html 钉钉客户端源码: http://www.cnblogs.com/loveson ...

  10. [翻译] 为什么Uber的数据库从Postgres 切换到 MySql

    Uber工程师团队发布了一个重要的博客文章:他们的数据库从Postgres从移动到MySQL.毫不夸张地说,阅读这篇文章是一种享受,特别是因为他们提到这些细节:磁盘格式和那对他们2个数据库的表现的影响 ...