初步了解Canvas

<--------一些理论储备: --------------------------------------------------------------------------------------------------------------------------------->

HTML5 Canvas元素允许我们在HTML5页面中的canvas区域自由的绘制图形。

在HTML5 Canvas上绘制图形是一种即时模式(immediate mode)。

所谓的即时模式是指一旦在Canvas上绘制了图形之后,Canvas将不再知道这个图形的任何信息。被绘制的图形是可见的,但是你不能够操作这个图形。

就像一块正真的画布,在你绘制图形之后,留在上面的只是一些颜色(像素)

这是Canvas和SVG不同的地方是,SVG图形可以被单独操纵的,也可以被重新绘制。在HTML5 canvas中如果你想修改绘制的图形,你需要重新绘制所有的东西。

<--------代码走起-------------------------------------------------------------------------------------------------------------------------------------->

总的来说有两大步,第一步,先在页面上定义canvas元素,第二步就是对canvas进行绘制。

 

第一步:

现在,让我们来看看如何在HTML页面中声明一个Canvas元素。

<canvas id="ex1" width="500" height="150" style="border: 1px solid #cccccc;">

    你的浏览器不支持HTML5 Canvas!

</canvas>

上面的代码声明了一个Canvas元素,它的宽度为500,高度为150,并且设置了1个像素的灰色描边。

如果浏览器支持HTML5 Canvas元素,那么在<canvas>中的文字会被忽略。如果浏览器不支持HTML5 Canvas元素,这些文字会被作为提示文字显示出来。

我们可以将<canvas>元素放置在页面中任何想要显示它的地方,例如放置在一个<div>中。

第二步:

要想在HTML5 canvas中绘制各种图形,需要使用javascript。下面是绘制的步骤:

  • 1、等待页面DOM元素加载完毕。
  • 2、获取canvas元素的引用。
  • 3、从canvas元素中获取一个2D上下文(context)。
  • 4、从2D上下文中使用绘制函数绘制图形。

下面是一个简单的例子,它遵从了上面的4个步骤来在canvas中绘制一个矩形。

<script>

    // 1. 等待页面DOM元素加载完毕。

    window.onload = function() {

        drawExamples();

    }

    function drawExamples(){

    

        // 2. 获取canvas元素的引用。

        var canvas  = document.getElementById("ex1");

        // 3. 从canvas元素中获取一个2D上下文(context)。

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

        // 4. 从2D上下文中使用绘制函数绘制图形。

        context.fillStyle = "#ff0000";

        context.fillRect(10,10, 100,100);

    }

</script>                             

在上面的代码中,首先在window对象中添加了一个事件监听。这个事件监听函数在页面页面加载完成之后被执行。这个函数会调用一个已经定义好的函数drawExamples()

接着,drawExamples()函数通过document.getElementById()方法获取canvaas元素的引用。然后,通过在canvas引用上执行getContext("2d")方法获取一个2D上下文。

最后,就可以在这个2D上下文中使用绘制函数来绘制图形了。

From:http://www.htmleaf.com/ziliaoku/qianduanjiaocheng/201507092199.html

时间: 2024-12-28 16:29:32

初步了解Canvas的相关文章

前端练手项目

前端学习还是很有趣的,可以较快的上手然后自己开发一些好玩的项目来练手,网上也可以一抓一大把关于前端开发的小项目,可是还是有新手在学习的时候不知道可以做什么,以及怎么做,因此,就整理了一些前端项目教程,希望可以帮助正在学习前端的小伙伴.为了方便阅读,大概把前端可以做的项目分为三类: 游戏类 实用类 好玩类 然后依次推荐一些项目教程,想要学习的小伙伴可以看看~ 游戏类 其实很多常见的小游戏都是纯前端开发出来的,比如曾经风靡的2048.别踩白块啊等等,简单有趣,对于初学者来说,这些小游戏是非常不错的练

前端项目

前端学习还是很有趣的,可以较快的上手然后自己开发一些好玩的项目来练手,网上也可以一抓一大把关于前端开发的小项目,可是还是有新手在学习的时候不知道可以做什么,以及怎么做,因此,就整理了一些前端项目教程,希望可以帮助正在学习前端的小伙伴.为了方便阅读,大概把前端可以做的项目分为三类: 游戏类 实用类 好玩类 然后依次推荐一些项目教程,想要学习的小伙伴可以看看~ 游戏类 其实很多常见的小游戏都是纯前端开发出来的,比如曾经风靡的2048.别踩白块啊等等,简单有趣,对于初学者来说,这些小游戏是非常不错的练

canvas beginPath()的初步理解

canvas的坑真是太大了,w3school上也只是一些简单的例子,还得自己好好研究下.刚学到beginpath(),意思是开始画一条线. 来段代码 <html> <head> <title>canvas</title> </head> <canvas id=myCanvas width=500px height=500px></canvas> <script> var myCanvas = document.

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

一.HTML5部分API 1.选择器querySelector和querySelectorAll 1.1.querySelector:返回文档中匹配指定的CSS选择器的第一元素.  document.querySelector(CSS selectors),CSS selectors(指定一个或多个匹配元素的 CSS 选择器. 可以使用它们的 id, 类, 类型, 属性, 属性值等来选取元素. 对于多个选择器,使用逗号隔开,返回一个匹配的元素). 1.2.querySelectorAll : H

H5----初识canvas

今天看了下HTML5画布,初步了解了一下canvas对象. ----------------------------------------------------------------------------- <canvas id="myCanvas"></canvas> <script type="text/javascript"> var c = document.getElementById("myCanva

【温故而知新-Javascript】使用canvas元素(第二部分)

本文将继续介绍canvas的功能,展示如何绘制更复杂的图形(包括圆弧和曲线),如何使用剪裁区域来限制操作以及如何绘制文本.还是介绍可以应用在画布上的特效和变换,包括阴影.透明度.旋转和坐标重映射. 1. 用路径绘图 路径本质上是一组独立的线条(被称为子路径),它们组合到一起构成图形.我们绘制子路径的方式就像用笔在纸上画图一样,笔尖不离开纸面:画布上的每一条子路径都以上一条的终点作为起点.下面展示了绘制基本路径的方法: 绘制一条路径的基本顺序如下: * 调用 beginPath方法: * 用 mo

three的初步探索之表象篇

首先three.js是啥?用来干啥的?首先在谈这个之前,先说下canvas,canvas是h5新生的一个功能,可以用来画图,表达许多更绚丽的特效,然后canvas目前有个软当,就是只能2d,不支持三维世界的,那么如果我们要在canvas做出3d效果咋办,这时候需要一个东西,叫WebGL,这玩意是啥?百度定义:WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,WebGL可

【高级功能】使用canvas元素(第二部分)

本文将继续介绍canvas的功能,展示如何绘制更复杂的图形(包括圆弧和曲线),如何使用剪裁区域来限制操作以及如何绘制文本.还是介绍可以应用在画布上的特效和变换,包括阴影.透明度.旋转和坐标重映射. 1. 用路径绘图 路径本质上是一组独立的线条(被称为子路径),它们组合到一起构成图形.我们绘制子路径的方式就像用笔在纸上画图一样,笔尖不离开纸面:画布上的每一条子路径都以上一条的终点作为起点.下面展示了绘制基本路径的方法: 绘制一条路径的基本顺序如下: * 调用 beginPath方法: * 用 mo

[ html canvas quadraticCurveTo ] canvas绘图quadraticCurveTo()属性研究实例演示

说实话这个方法有点吓人,单从函数名称上都可以初体验.话说,我觉得有必要把这个函数名缩短. quadratic的意思是二次,即数学中二次元方程那个二次.而ctx.quadraticCurveTo的参数如下: ctx.quadraticCurveTo(x1,y1,x,y); 其中x,y是终点的坐标,而x1,y1是曲线控制点的坐标?什么?你问我起点在哪里?起点在此之前用moveTo确定. 我之所以把控制点的坐标带上序号1,是因为后面讲的某个画曲线的函数有两个控制点,也就有x2,y2了,所以这里先打个预