我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何去学习HTML5Canvas

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何去学习HTML5Canvas

今天就跟大家聊聊有关如何去学习HTML5Canvas,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

HTML5

究竟什么是HTML5?在W3C HTML5的常见问题中,关于HTML5是这样说明的:HTML5是一个开放的平台下开发的免费许可条款。
具体来说,对这句话有以下两种理解:
“指一组共同构成了未来开放式网络平台的技术。这些技术包括HTML5规范、CSS3、SVG、MATHML、地理位置、XmlHttpRequest、Context 2D、Web字体以及其他技术。这一套技术的边界是非正式的,且随时间变化的。
指HTML5规范,当然也是开放式网络平台的一部分。”

Canvas的浏览器支持
以下我列出了最流行的Web浏览器以及它们开始支持Canvas元素的最小版本号。

SafariFirefoxIEChromeOpeariOS SafariAndroid Brower
3.23.59910.63.22.1


这里我推荐使用Chrome。

简单的HTML5页面

XML/HTML Code复制内容到剪贴板

  1. <!doctype html>  
      
    <html lang="zh">  
      
    <head>  
        <meta charset="UTF-8">  
        <title>基础的HTML5页面</title>  
    </head>  
      
    <body> Hello Airing! </body>  
      
    </html>

演示运行结果如下:
如何去学习HTML5Canvas

HTML是由一个个形如尖括号<>的标签元素组成,这些标签通常是成对出现,并且标签之间只能嵌套不能交叉。
扩展:
成对出现的叫做闭合标签,单个出现的叫做单标签。不管怎样都是闭合的(单标签可以不闭合,但是在XHTML中严格要求了闭合)。闭合标签又分为开始标签和结束标签,如<body>是开始标签,</body>是结束标签。自标签如<input/> <br/>等。
关于更多的标签,建议大家自行了解一下。推荐W3school平台自学。
这里我们着重讲一下上述代码中出现的标签。

XML/HTML Code复制内容到剪贴板

  1. <!doctype html>  

这个标签说明 Web 浏览器将在标准模式下呈现页面。根据 W3C 定义的 HTML5 规范,这是 HTML5 文档所必需的。这个标签简化了长期以来在不同的浏览器呈现 HTML 页面时出现的奇怪差异。它通常为文档中的第一行。

XML/HTML Code复制内容到剪贴板

  1. <html lang="en">  

这是包含语言说明的<html>标签,例如,"en"为英语,"zh"为中文。

XML/HTML Code复制内容到剪贴板

  1. <head>...</head>   

这2个标记符分别表示头部信息的开始和结尾。头部中包含的标记是页面的标题、序言、说明等内容,它本身不作为内容来显示,但影响网页显示的效果。头部中最常用的标记符是<title>标记符和<meta>标记符。

以下表格列出了HTML head 元素下的所有标签和功能:

标签描述
<head>定义了文档的信息
<title>定义了文档的标题
<base>定义了页面链接标签的默认链接地址
<link>定义了一个文档和外部资源之间的关系
<meta>定义了HTML文档中的元数据
<script>定义了客户端的脚本文件
<style>定义了HTML文档的样式文件

XML/HTML Code复制内容到剪贴板

  1. <meta charset="UTF-8">  

这个标签说明 Web 浏览器使用的字符编码模式,这里通常设置为UTF-8。如果没有需要特别设置的没必要改变它。这也是 HTML5 页面需要的元素。

XML/HTML Code复制内容到剪贴板

  1. <title>...</title>   

这个标签说明在浏览器窗口展示的 HTML 的标题。这是一个很重要的标记,它是搜索引擎用来在 HTML 页面上收录内容的主要信息之一。

XML/HTML Code复制内容到剪贴板

  1. <body>...</body>   

网页中显示的实际内容均包含在这2个<body>之间。
综上,HTML5网页是由第一行的<!doctype html>与<html>部分组成,而<html>主要分为两部分&mdash;&mdash;由<head>标签规定的头部部分,和由<body>规定的主体部分。
这样,我们就把最简单的HTML网页的基本结构给捋出来了。

添加一个Canvas
在HTML中添加Canvas非常简单,只需要在HTML的<body>部分,添加上<canvas>标签就可以了!可以参考下面的代码。

XML/HTML Code复制内容到剪贴板

<!doctype html><html lang="zh"><head><meta charset="UTF-8"><title>基础的HTML5页面</title> </head>  
<body>  
    <canvas id="canvas">  
    你的浏览器居然不支持Canvas?!赶快换一个吧!!   
    </canvas></body>    
</html>

由于结果页面是一个完完全全的空白页面,所以这里我就不贴图了。大家可能会很好奇,为什么会是一个空白呢?(废话,我还没来得及画画呢!)Canvas的本意是画布,也就是画布的意思(废话...),画布在HTML5中是透明的,是不可见的。
那<canvas>标签中的那段文本是什么意思呢?那是一旦浏览器执行HTML页面时不支持Canvas,就会显示这段文字,换言之,只要你的浏览器支持Canvas,页面上就不会显示这个文本。
那<canvas>中的id是什么意思?id是标签的属性之一,在JavaScript代码中用来指定特定的<canvas>的名字,就像一个人的身份证号码一样,是唯一的。
为了更清楚的展示Canvas,以及方便之后的演示,我稍微修改了一下代码,之后的绘图都会在这个Canvas上绘制。

XML/HTML Code复制内容到剪贴板

  1. <!doctype html>  
    <html lang="zh">  
    <head>  
    <meta charset="UTF-8">  
    <title>基础的Canvas</title>  
    </head>  
      
    <body>  
    <div id="canvas-warp">  
        <canvas id="canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;" width="800" height="600">  
        你的浏览器居然不支持Canvas?!赶快换一个吧!!   
        </canvas>  
    </div>  
    </body>    
    </html>

运行结果:
如何去学习HTML5Canvas

对以上代码有几点说明:

1.添加了<div>标签,将<canvas>包裹其中,个人习惯,暂时并没有什么卵用。
2.给<canvas>标签指定了width和height属性,规定了它的宽和高。
3.给<canvas>标签添加了一个内联样式,使其变为块级元素并居中显示。

关于CSS的内容这里不做说明,毕竟这不是本课程的主角,若做扩展会花费大量篇幅。

引用Canvas元素


文档对象模型(DOM)
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。Document Object Model的历史可以追溯至1990年代后期微软与Netscape的“浏览器大战”,双方为了在JavaScript与JScript一决生死,于是大规模的赋予浏览器强大的功能。微软在网页技术上加入了不少专属事物,计有VBScript、ActiveX、以及微软自家的DHTML格式等,使不少网页使用非微软平台及浏览器无法正常显示。DOM即是当时蕴酿出来的杰作。
文档对象模型代表了在 HTML 页面上的所有对象。它是语言中立且平台中立的。它允许页面的内容和样式被 Web 浏览器渲染之后再次更新。用户可以通过 JavaScript 访问 DOM。
在开始使用<canvas>前,首先需要了解两个特定的 DOM 对象:window 和 document。

window 对象是 DOM 的最高一级,需要对这个对象进行检测来确保开始使用 Canvas 应用程序之前,已经加载了所有的资源和代码。
document 对象包含所有在 HTML 页面上的 HTML 标签。需要对这个对象进行检索来找 出用 JavaScript 操纵<canvas>的实例。

JavaScript放置位置
使用 JavaScript 为 Canvas 编程会产生一个问题:在创建的页面中,从哪里启动 JavaScript程序?
把 JavaScript 放进 HTML 页面的<head>标签中是个不错的主意,这样做的好处是很容易找到它,也是上一章我们介绍<head>中所提到的。但是,把 JavaScript 程序放在这里就意味着整个 HTML 页面要加载完 JavaScrpit 才能配合 HTML 运行,这段 JavaScript 代码也会在整个页面加载前就开始执行了。结果就是,运行 JavaScript 程序之前必须检查 HTML 页面是否已经加载完毕。
最近有一个趋势是将 JavaScript 放在 HTML 文档结尾处的</body>标签之前,这样就可以确保在 JavaScript 运行时整个页面已经加载完毕。然而,由于在运行<canvas>程序前需要使用 JavaScript 测试页面是否加载,因此最好还是将 JavaScript 放在<head>中。
不过本人不走寻常路(笑),所以之后的案例,还是按照自己的编码风格将JavaScript代码放在了<body>的尾部。当然,如果JavaScript代码有些多,就推荐使用加载外部 .js 文件的方式。代码大致如下:

JavaScript Code复制内容到剪贴板

  1. <script type="text/javascript" class="lazy" data-src="bootstarp.js"></script>  

在实际项目开发中,都是将HTML、CSS、JS三者完全分离的。不过用于案例演示代码略少,所以大多没有使用加载外部 .js 文件的方式。


获取canvas对象
获取canvas对象其实就是一句话的事情。

JavaScript Code复制内容到剪贴板

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

var用于变量定义,由于JS是弱类型语言,所以定义啥变量都用var。跟在var之后的canvas是变量。使用document对象的getElementById()的方法,通过id获取对象。之前我们为<canvas>标签赋予了一个id,名叫canvas,所以该句话最后一个canvas是指<canvas>的id&mdash;&mdash;canvas。(是不是有点绕,需要自己多读几遍捋清楚。)
获得画笔(2D环境)
画画首先需要啥?画笔啊。获取canvas画笔也是一句话的事情,就是直接使用刚才获得的canvas对象,调用它的getContext("2d")方法,即可。

JavaScript Code复制内容到剪贴板

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

这里的context便是画笔了。
在其他教程中都是使用2D环境这个专有术语,我觉得画笔更加形象。灵感引自Java中Graphics类的g画笔,原理与之相同。


总结
准备工作只有三步:

1.布置画布:通过添加<canvas>标签,添加canvas元素
2.获取画布:通过<canvas>标签的id,获得canvas对象
3.获得画笔:通过canvas对象的getContext("2d")方法,获得2D环境

对应的代码也就是三句话:

JavaScript Code复制内容到剪贴板

  1. <canvas id=“canvas”></canvas>   
    var canvas = document.getElementById("canvas");   
    var context = canvas.getContext("2d");

完整代码如下。

JavaScript Code复制内容到剪贴板

  1. <!doctype html>   
    <html lang="zh">   
    <head>   
        <meta charset="UTF-8">   
        <title>基础的Canvas</title>   
    </head>   
      
    <body>   
    <div id="canvas-warp">   
        <canvas id="canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;" width="800" height="600">   
            你的浏览器居然不支持Canvas?!赶快换一个吧!!   
        </canvas>   
    </div>   
      
    <script>   
    window.onload = function(){   
        var canvas = document.getElementById("canvas");   
        var context = canvas.getContext("2d");   
    }   
    </script>   
    </body>   
      
    </html>
  2.   

如何去学习HTML5Canvas

注意几点:

1.JavaScript代码需要包裹在<script>标签中。

2.window.onload = function(){}加载页面后就要立即执行,表示网页加载完执行后面的那个function函数体的内容。

看完上述内容,你们对如何去学习HTML5Canvas有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何去学习HTML5Canvas

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何学习composer

小编给大家分享一下如何学习composer,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!听说你也想学composer-入门篇composer作为依赖管理工具,使用频率还是挺高的。特别是对于我这种比较懒的程序猿,有现成轮子的
2023-06-14

如何学习 HTML

HTML(超文本标记语言)是构建万维网(World Wide Web)页面的一种基础技术,学习 HTML 的好处包括能够创建自己的网页,了解网页开发的基本原则以及更好地理解网页之间的关系等。那么,如何学习 HTML 代码呢?本文将从以下几个方面进行介绍。1. 网上免费教程互联网上有很多关于 HTML 的免费教程可供选择,比如 W3Schools(https://www.w3sc
2023-05-14

如何学习WCF

这篇文章给大家分享的是有关如何学习WCF的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。对于WCF学习,技术态度要扎实。如果你是新手,有足够的时间,建议你从基础学起,现了解Enterprise Sevices(CO
2023-06-17

如何学习html

随着互联网的发展,HTML(超文本标记语言)作为Web开发的核心技术逐渐被广泛认知和应用。许多人想学习HTML,但不知道从何开始,如何学习,此时这篇文章将为您详细介绍一些学习HTML的方法和技巧。1、初步学习HTML学习HTML需要有基本的计算机知识,因为HTML是一种基于计算机的编程语言。因此,第一步是熟悉计算机基础知识和网络基础知识。当您准备好这些前提条件后,就可以开始学习
2023-05-14

如何学习Unity3D?

对游戏开发者而言,创新的压力、开发技术的压力在不断攀升,简单的代码优化和传统的3D绘制框架已经不能满足游戏引擎方面的开发需要。游戏开发者迫切需要“破圈”合作,挖掘离芯片底层更近一步的技术,赋能提升技术生态。
如何学习Unity3D?
2024-04-23

python如何学习

python如何来学习别人口中python应该怎么学习:1、python不是拿来学的,而是拿来用的。    python的语法结构很简单,或者说书本里面的东西很容易掌握。但是你要把python真正的用好,是有很大难度的。而且从这句话可以看出
2023-01-31
2024-04-02

如何学习selenium

这篇文章主要为大家展示了“如何学习selenium”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何学习selenium”这篇文章吧。要弄懂什么是Selenium?Selenium是浏览器自动化
2023-06-05

Android如何学习

这篇文章给大家分享的是有关Android如何学习的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先上一张android开发知识点学习路线图思维导图 Android学习路线从4个阶段来对Android的学习过程做一个
2023-06-05

初学者如何学习DOS

这篇文章主要介绍“初学者如何学习DOS”,在日常操作中,相信很多人在初学者如何学习DOS问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”初学者如何学习DOS”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!现在
2023-06-09

小白学习Python,该如何规划学习?

随着人工智能的发展,转行学习Python的伙伴越来越多,那么对于小白来说,该如何规划自己的学习呢?下面陕西优就业小优给大家整理了前辈的一些建议,希望能给大家带来一些参考:第一步:选择好python学习方向我要学习python的目的不是为了解
2023-06-02

python如何学习(三)

最近开始整理python的资料,博主建立了一个qq群,希望给大家提供一个交流的同平台 78486745 。一、第一个Python程序--HelloWorldpython的第一个程序也从hello world开始吧:#!/usr/bin/e
2023-01-31

python如何学习(一)

最近开始整理python的资料,博主建立了一个qq群,希望给大家提供一个交流的同平台 78486745 。一、Python是什么相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一。从性质上来讲它和我们熟知的C、j
2023-01-31

3DMAX好学吗?如何学习3DMAX?

3DMAX好学吗?3DMAX相比其他软件操作命令要多一些,这可能是所谓“难”学的原因,但3DMAX是一个从事有趣工作的软件,众繁的功能命令,使这个软件变得无比强大,这样的“难”其实更增加了使用者的兴趣。另外,难和易其实是一种个人的主观意识,
2023-01-31

编程热搜

目录