canvas教程

Canvas 学习笔记(一)

字号+ 作者:H5之家 来源:H5之家 2017-04-25 15:00 我要评论( )

一直没有系统的去学习一下canvas,都是在用到的时候一边google一边使用,最近工作上的事情告一段落,就决定跟着MDN 学习一下Canvas。 在学习之前,首先了解一下c

一直没有系统的去学习一下canvas,都是在用到的时候一边google一边使用,最近工作上的事情告一段落,就决定跟着MDN 学习一下Canvas。

在学习之前,首先了解一下canvas的背景知识。以下内容引用自 MDN:

<canvas> 最早由Apple引入WebKit,用于Mac OS X 的 Dashboard,后来又在Safari和Google Chrome被实现。 基于Gecko 1.8的浏览器,比如 Firefox 1.5, 同样支持这个元素。<canvas> 元素是WhatWG Web applications 1.0规范的一部分,也包含于HTML 5中。

canvas ,中文翻译为画布,canvas 的出现为Web开发者带了新一轮的 高潮,利用canvas 可以实现出更多好玩的、酷炫的效果。以前依赖flash的效果现在也可以利用canvas来实现了。

canvas 标签 和 其他 HTML 标签 类似,也拥有着许多基本的属性和表现行为。比如id、class及 css的规则。canvas标签同时支持 属性width、height 和 css 规则中的width、height。 默认情况下,canvas 的尺寸为300px * 150px。 canvas 元素可以使用CSS来定义大小,但在绘制时图像会伸缩以适应它的框架尺寸:即如果CSS的尺寸与初始画布的比例不一致,它会出现扭曲。

如果你绘制出来的图像是扭曲的, 尝试在<canvas>的属性中明确规定宽和高,而不是使用CSS。

canvas标签本身不提供绘制功能,所以别指望直接操作canvas的DOM对象来实现酷炫的效果。 如果想要去绘制图形制作出各种效果出来,那我们需要操作的是canvas 的 渲染上下文对象。

canvas给我的感觉更像是一张白纸,渲染上下文 是我们找到的画师。canvas 向 画师提供了作画的地方,而画师(渲染上下文) 则将美丽的图画绘制在纸张(canvas)上。

canvas 提供了一个方法 getContext 来获取它的 渲染上下文及其的绘制能力。getContext 接受一个参数,用来指示我们希望得到一个什么样的画师。常用的有两种2d 和 webgl 。 2d 指示我们希望得到一个拥有平面做图能力的画师,而webgl则指示我们希望得到一个能够绘制3d图形的画师。

var canvas = document.getElementById('canvas'); // 获取canvas 节点 var ctx = canvas.getContext('2d'); // 获取canvas节点的渲染上下文

当我们获取到渲染上下文之后,就可以做爱做的事了! 我们所做的一切的操作都建立在渲染上下文 对象上,如果没有这个渲染上下文,那么我们想要绘制哪怕一个简单的矩形都无从谈起。

接下来,我们看一个简单的例子:绘制一个简单的红色矩形,矩形的左上角位于(0,0),宽是150,高是100。

未完待续……

内容来源:https://segmentfault.com/a/1190000007506638

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Canvas学习:绘制虚线和圆点线

    Canvas学习:绘制虚线和圆点线

    2017-04-25 15:01

  • HTML5 Canvas自定义圆角矩形与虚线(Rounded Rectangle and Dash

    HTML5 Canvas自定义圆角矩形与虚线(Rounded Rectangle and Dash

    2017-04-25 13:01

  • Canvas学习:绘制矩形

    Canvas学习:绘制矩形

    2017-04-24 17:02

  • html5canvas画图例子

    html5canvas画图例子

    2017-04-24 15:02

网友点评