精华内容
下载资源
问答
  • HTML5 Canvas开发详解.pdf

    2018-05-22 18:17:55
    通过HTML5+Canvas开发详解(第2版),你将学到如何使用Canvas进行绘图、渲染文字、处理图像、创建动画,而这些是开发交互式Web游戏的必备知识。 本书针对Canvas和HTML5技术的最新变动进行了更新,其中包含了大量...
  • HTML5 Canvas 开发详解》第二版pdf
  • HTML5 canvas开发详解

    2018-04-06 23:47:24
    HTML5 canvas开发详解 第2版 高清 电子书 pdf 下载 [(美)STEVE FULTON,JEFF FULTON著;任旻,罗泽鑫译][人民邮电出版社]
  • HTML5 Canvas 开发详解(第二版)高清完整版,自己在看,发现csdn没有很完整的,传上来一起学习
  • HTML5 Canvas 开发详解(第2版)》
  • HTML5 Canvas 开发详解(第二版)高清完整版,解压密码:2580,传上来一起学习,自己在看,发现csdn有但要5分,现在1分就可以下载
  • HTML5 Canvas 开发详解(第二版)高清完整版,自己在看,发现csdn没有很完整的,传上来一起学习
  • 本书是Canvas的畅销图书,它在上一版的基础上,通过讲解如何开发可交互式多媒体应用,引导读者学习HTML5 Canvas。通过本书,你将学到如何使用Canvas进行绘图、渲染文字、处理图像、创建动画,而这些是开发交互式Web...
  • 从书籍英文网站下载的全部示例代码。对应第二版。仅仅是示例代码,没有pdf
  • HTML5+Canvas开发详解(第2版).pdf

    千次阅读 2018-03-30 22:36:48
    通过HTML5+Canvas开发详解(第2版),你将学到如何使用Canvas进行绘图、渲染文字、处理图像、创建动画,而这些是开发交互式Web游戏的必备知识。本书针对Canvas和HTML5技术的最新变动进行了更新,其中包含了大量清晰...



    通过HTML5+Canvas开发详解(第2版),你将学到如何使用Canvas进行绘图、渲染文字、处理图像、创建动画,而这些是开发交互式Web游戏的必备知识。
    本书针对Canvas和HTML5技术的最新变动进行了更新,其中包含了大量清晰、可重用的代码示例,无论你当前使用的是Flash、Silverlight,还是HTML与JavaScript。都可以通过本书中的这些代码示例迅速掌握HTML5 Canvas


    教程地址:HTML5+Canvas开发详解(第2版).pdf

    展开全文
  • 本节书摘来自异步社区《HTML5 Canvas开发详解》一书中的第1章,第1.5节,作者: 【美】Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.5 HTML5 Canvas版“Hello World!” 如...

    本节书摘来自异步社区《HTML5 Canvas开发详解》一书中的第1章,第1.5节,作者: 【美】Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.5 HTML5 Canvas版“Hello World!”

    如前所述,将Canvas放入HTML5页面时第一件要做的事,就是看看整个页面是否已经加载,并且开始操作前是否所有HTML元素都已展现。用Canvas处理图像和声音的时候这点会非常重要。

    为此,这里要使用JavaScript的事件。当定义的事件发生时,事件从对象发出。其他对象监听事件,这样就可以基于事件进行处理。用JavaScript可以监听对象的一些常见事件,包括键盘输入、鼠标移动以及加载结束。

    第一个需要监听的事件是window对象的load事件。该事件在HTML页面加载结束时发生。

    要为事件添加一个监听器,可以使用DOM的对象的addEventListener()方法。因为window代表HTML页面,所以它是最高级别的DOM对象。

    addEventListener()函数接受以下3个参数。

    • 事件:load
      这是监听器的事件名称。对于诸如window的已有对象的事件已经预先定义过。
    • 事件处理器函数:eventWindowLoaded()
      当事件发生时调用这个函数。在代码中会调用canvasApp()函数来开始执行主应用程序。
    • useCapture:true或false
      这个参数设置函数是否在事件传递到DOM对象树的底层对象之前捕捉此种类型的事件。此处始终设为false。

    下面是用来测试window是否加载完毕的最终代码。

    window.addEventListener("load", eventWindowLoaded, false);
    function eventWindowLoaded (){
      canvasApp();
    }
    

    另外,也可以用许多其他方式为load事件设置事件监听器。

    window.onload = function()
      {
        canvasApp();
      }
    

    或者使用如下代码。

    window.onload = canvasApp();
    

    本书使用第一种方法。

    1.5.1 为Canvas封装JavaScript代码
    前面已经创建了一种测试HTML页面是否加载完毕的方法,下面将开始创建JavaScript应用程序。因为JavaScript在HTML页面中运行,所以它可以与其他JavaScript应用程序和代码一起运行。通常,这不会导致什么问题。但是,可能会出现一种情况,即代码中的变量或者函数会与HTML页面中的其他JavaScript代码产生冲突。

    Canvas应用程序与在浏览器中运行的其他应用有所不同,由于Canvas只在屏幕上特定的区域执行显示结果,它的功能可以说是独占的,所以不太会受到页面上的其他内容影响,反之亦然。读者可能还想在同一个页面上放置多个Canvas应用,那么在定义JavaScript代码时必须将对应的代码分开。

    为避免这个问题,可以将变量和函数都封装在另一个函数中。JavaScript函数本身就是对象,Javascript对象既可以有属性也可以有方法。将一个函数放到另一个函数中,读者可以使第二个函数只在第一个函数的局部作用域中。

    在示例中将使从window load事件中调用的canvasApp()函数包含整个Canvas应用程序。 “Hello World!”示例中将会有一个名为drawScreen()的函数。一旦canvasApp()被调用,则立即调用drawScreen()来绘制“Hello World!”文本。

    drawScreen()函数现在是canvasApp()的局部函数。在canvasApp()中创建的任何变量或函数对于drawScreen()来说都是局部的。但是对于HTML页面的其余部分或其他可能运行的JavaScript应用程序来说并非如此。

    以下是如何封装函数的示例代码,也是Canvas应用程序的代码。

    function canvasApp(){
      drawScreen();
      ...
      function drawScreen(){
        ...
      }
    }
    

    1.5.2 将Canvas添加到HTML页面中
    在HTML的< body > 部分添加一个< canvas > 标签时,可以参考以下代码。

    <canvas id="canvasOne" width="500" height="300">
    Your browser does not support HTML5 Canvas.
    </canvas>
    

    现在,小结一下正在讨论的内容。< canvas > 标签有3个主要属性。在HTML中,属性被设在尖括号括起来的HTML标签中。这3个属性分别如下。

    • id:id在JavaScript代码中用来指示特定< canvas > 标签的名字,如canvasOne。
    • width:画布宽度,以像素为单位。width将设为500像素。
    • height:画布高度,以像素为单位。height将设为300像素。

    提示:
    HTML5元素(包括canvas)还有很多属性,如tabindex, title, class, accesskey, dir, draggable, hidden等。
    在开始标签< canvas > 和结束标签< /canvas > 中间,可以添加文本,如果浏览器执行HTML页面不支持Canvas时会显示这些文字。以本章的Canvas应用程序为例,这里将使用文本“Your browser does not support HTML5 Canvas,”(你的浏览器不支持HTML5 Canvas)。实际上此处可以放置任意文字。

    在JavaScript中使用document对象引用Canvas元素
    接下来用DOM引用HTML中定义的< canvas > 标签。document对象加载后可以引用HTML页面的任何元素。

    这里需要一个Canvas对象的引用,这样就能够知道当JavaScript调用Canvas API时其结果在哪里显示。

    首先定义一个名为theCanvas的新变量,用来保存Canvas对象的引用。

    接下来,通过调用document的getElementById()函数得到canvasOne的引用,canvasOne是在HTML页面中为创建的< canvas > 标签定义的名字。

    var theCanvas = document.getElementById("canvasOne");
    1.5.3 检测浏览器是否支持Canvas
    现在已经得到了HTML页面上定义的canvas元素的引用,下面就需要检测它是否包含上下文。Canvas上下文是指支持Canvas的浏览器定义的绘图界面。简单地说,如果上下文不存在,画布也不会存在。有多种方式可以对此进行验证。由于前面已经在HTML页面中定义了Canvas,第一种方式是在调用Canvas的getContext方法之前,检测Canvas对象以及getContext方法是否存在。

    if (!theCanvas || !theCanvas.getContext){
      return;
    }
    

    实际上,这段代码测试了两件事。第一,它测试theCanvas是否包含false(如果命名的id不存在,document.getElementById()将返回此值)。第二,它测试getContext()函数是否存在。

    如果测试失败,return语句将中断程序执行。

    另一个方法是创建一个函数,在其中创建一个虚拟画布,以此来检测浏览器是否支持。这个方法是由Mark Pilgrim在他的HTML5网站创建并流行起来的。

    function canvasSupport (){
      return !!document.createElement('testcanvas').getContext;
    }
    function canvasApp(){ 
      if (!canvasSupport){
       return;
     }
    }
    

    作者最喜欢的方法是使用modernizr.js库。Modernizr是一个易用并且轻量级的库,可以检测各种Web技术的支持情况。Modernizr创建了一组静态的布尔值,可以检测是否支持Canvas。

    <script src="modernizr-1.6.min.js"></script>
    

    为了检测是否支持Canvas,将canvasSupport()函数改成下面这样。

    function canvasSupport (){
      return Modernizr.canvas;
    }
    

    这里将要使用modernizr.js方法,因为它提供了测试Web浏览器是否支持Canvas的最佳途径。

    1.5.4 获得2D上下文
    最后需要得到2D上下文的引用才能够操作它。HTML5 Canvas被设计为可以与多个上下文工作,包含一个建议的3D上下文。不过,本书只需得到2D上下文。

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

    1.5.5 drawScreen()函数
    现在便可以创建实际的Canvas API代码了。在Canvas上运行的各种操作都要通过context对象,因为它引用了HTML页面上的对象。

    在后面几章中,本书将深入讲解在HTML5 Canvas中绘制文本、图形和图像等内容,所以现在只需花一点点时间来看drawScreen()函数的代码。

    这里说的“屏幕”实际上就是定义的画布绘图区域,而不是整个浏览器窗口。作者之所以将它称之为屏幕,是因为在编写游戏或应用程序时,它就是在操作画布时的显示窗口或屏幕。

    首先要做的事情是清空绘图区域。下面的两行代码在屏幕上绘制出一个与画布大小相同的黄色方块。fillStyle()设置了颜色,fillRect()创建了一个矩形,并把它放到屏幕上。

    context.fillStyle = "#ffffaa";
    context.fillRect(0, 0, 500, 300);
    

    提示:
    注意,这里调用了context的函数。没有屏幕对象,颜色对象或者其他对象。这就是之前描述的即时模式的示例。
    下一章将讨论Canvas的文本函数,这里只是简单地浏览将“Hello World!”文本放到屏幕上的代码。

    首先,使用与设置矩形颜色相同的方法设置文本的颜色。

    context.fillStyle = "#000000";
    

    然后设置字体大小和字号。

    context.font = "20px _sans";
    

    接下来设置字体的垂直对齐方式。

    context.textBaseline = "top";
    

    最后通过调用context对象的fillText()方法将测试文本显示到屏幕上。这个方法的3个参数分别是是文本字符串、x坐标和y坐标。

    context.fillText ("Hello World!", 195, 80);
    

    下面可以给 “Hello World!”文本添加图形。首先,加载一个图像并将它显示出来。第4章将深入讨论图像及其操作,现在仅仅要做的就是显示一个图像到屏幕上。为了将图像显示到画布上,需要创建一个Image()对象的实例,并且将Image.src属性设为将要加载的图像的名字。

    提示:
    读者也可以将其他画布或者视频当作图像显示出来。本书会在第4章和第6章讨论相关主题。
    在显示图像之前,需要等待图像加载完毕。设置Image对象的onload函数可以为Image load事件创建一个callback()函数。callback()函数将在onload事件发生时被执行。当图像加载完毕,可以调用context.drawImage()并传输3个参数将图像显示到画布上:Image对象、x坐标以及y坐标。

    var helloWorldImage = new Image();
    helloWorldImage.src = "helloworld.gif";
    helloWorldImage.onload = function (){
      context.drawImage(helloWorldImage, 160, 130);
    }
    

    最后围绕文本和图像绘制一个方块。为了绘制方块而不填充,可以使用context.StrokeStyle()方法设置方块边框的颜色,然后调用context.strokeRect()方法绘制矩形边框。strokeRect()的4个参数分别是:左上角的x坐标和y坐标,以及右下角的x坐标和y坐标。

    context.strokeStyle = "#000000";
    context.strokeRect(5, 5, 490, 290);
    

    完整的HTML5 Hello World! 应用程序代码如例1-3所示,结果如图1-3所示。

    例1-3 HTML5 Canvas Hello World!
    
    <!doctype html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>CH1EX3: Your First Canvas Application </title>
    <script src="modernizr-1.6.min.js"></script>
    <script type="text/javascript">
    window.addEventListener("load", eventWindowLoaded, false);
    var Debugger = function (){ };
    Debugger.log = function (message){
      try {
       console.log(message);
      } catch (exception){
       return;
      }
    }
    
    function eventWindowLoaded (){
      canvasApp();
    }
    
    function canvasSupport (){
      return Modernizr.canvas;
    }
    
    function canvasApp (){
    
        if (!canvasSupport()){ 
          return;
        }
    
       var theCanvas = document.getElementById("canvasOne");
       var context = theCanvas.getContext("2d");
    
       Debugger.log("Drawing Canvas");
    
        function drawScreen(){
         //背景
         context.fillStyle = "#ffffaa";
         context.fillRect(0, 0, 500, 300);
    
         //文字
         context.fillStyle = "#000000";
         context.font = "20px _sans";
         context.textBaseline = "top";
         context.fillText ("Hello World!", 195, 80 );
    
         //图像
         var helloWorldImage = new Image();
         helloWorldImage.src = "helloworld.gif";
         helloWorldImage.onload = function (){
          context.drawImage(helloWorldImage, 160, 130);
         }
    
         //边框
         context.strokeStyle = "#000000";
         context.strokeRect(5, 5, 490, 290);
       }
       drawScreen();
    }
    
    </script>
    </head>
    <body>
    <div style="position: absolute; top: 50px; left: 50px;">
    <canvas id="canvasOne" width="500" height="300">
    Your browser does not support HTML5 Canvas.
    </canvas>
    </div>
    </body>
    </html>
    


    02ffc59c1dd617ea8f15e5f8aee7b4987ac4c804
    展开全文
  • 前言HTML5 Canvas为开发者提供了一个新的机会,利用它仅使用普通的HTML和JavaScript语言就可以在常见的浏览器中创建动画图形。CanvasHTML5中使用率最高的一部分,它被用...


    <a href=https://yqfile.alicdn.com/bc81e95aba389209ecb7176965c56b0ba2d9c780.png" >

    前言
    HTML5 Canvas为开发者提供了一个新的机会,利用它仅使用普通的HTML和JavaScript语言就可以在常见的浏览器中创建动画图形。Canvas是HTML5中使用率最高的一部分,它被用于许多演示与游戏。它提供了视觉效果很棒的交互特性,而且它还提供了非常大的自由度,几乎允许开发者在浏览器窗口中做任何事情。然而它与JavaScript的传统开发方式不同(与Flash和Silverlight的开发也不同),因此需要仔细进行探索。

    如何运行本书中的示例
    使用HTML5和Canvas编程最大的好处就是进入的门槛非常低——需要的所有工具就是一个现代浏览器和一个文本编辑器。

    为了得到最大兼容性,本书建议读者下载或使用下列最新版本的浏览器,并且排名越前优先级越高。

    1.Chrome

    2.Safari

    3.Opera

    4.FireFox

    5.Internet Explorer(IE9或更高版本)

    本书中的每一个示例都在Google Chrome、Safari和Opera中测试过。在后期开发的示例代码中,FireFox中开始出现一些问题。本书已经尽最大努力确保这些示例可以兼容尽可能多的浏览器,不过这里依然推荐读者使用Google Chrome或Safari浏览器,这样在Canvas获得更多的支持度之前得到最好的效果。

    请注意,如果读者使用本书的PDF版本复制粘贴代码,那么许多语句中包含的减号(“-”)会被替换为其他字符,例如连字符。读者可以将这些其他符号替换为减号(“-”),这样代码才能正常工作。

    本书建议购买了本书电子版的读者应该仅将书中的代码作为一个参考指南,并且从本书的网站中下载完成的代码。在下载文件中除了代码,还包括所有的图像文件、二进制文件以及可以让示例在浏览器中正常运行的其他资源。
    前言
    [第1章 HTML5 Canvas简介
    1.1 基础的HTML页面 ](https://yq.aliyun.com/articles/97048)
    1.2 本书中使用的基础HTML页面
    1.3 文档对象模型(DOM)和Canvas
    1.4 JavaScript和Canvas
    1.5 HTML5 Canvas版“Hello World!”
    1.6 用Console.log调试
    1.7 2D上下文及其当前状态
    1.8 HTML5 Canvas对象
    1.9 第二个示例:猜字母
    1.10 内容预告
    [第2章 在Canvas上绘图
    2.1 本章基本文件设置 ](https://yq.aliyun.com/articles/97112)
    2.2 基本矩形
    2.3 Canvas状态
    2.4 使用路径创建线段
    2.5 高级路径方法
    2.6 在画布上合成
    2.7 简单画布变换
    2.8 用颜色和渐变填充对象
    2.9 用图案填充形状
    2.10 创建阴影
    2.11 内容预告
    第3章 HTML5 Canvas的文本API
    第4章 Canvas图像
    第5章 数学、物理与动画
    第6章 在画布中融合HTML5视频
    第7章 使用音频
    第8章 画布游戏本质
    第9章 位图与声音的结合
    第10章 使用PhoneGap制作移动设备游戏
    第11章 进一步探索

    展开全文
  • 本节书摘来自异步社区《HTML5 canvas开发详解(第2版)》一书中的第1章,第1.5节,作者: 【美】Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.5 JavaScript和Canvas ...

    本节书摘来自异步社区《HTML5 canvas开发详解(第2版)》一书中的第1章,第1.5节,作者: 【美】Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.5 JavaScript和Canvas

    JavaScript是用来创建Canvas应用程序的一种程序设计语言,能在现有的任何Web浏览器中运行。如果需要重温JavaScript的相关内容,请关注Douglas Crockford的书《JavaScript: The Good Parts》(O’Reilly)。这本书很流行,并且有很强的参考价值。

    JavaScript放置的位置及其理由
    使用JavaScript为Canvas编程会产生一个问题:在创建的页面中,从哪里启动JavaScript程序?

    把JavaScript放进HTML页面的 < head > 标签中是个不错的主意,这样做的好处是很容易找到它。但是,把JavaScript程序放在这里就意味着整个HTML页面要加载完JavaScrpit才能配合HTML运行,这段JavaScript代码也会在整个页面加载前就开始执行了。结果就是,运行JavaScript程序之前必须检查HTML页面是否已经加载完毕。

    最近有一个趋势是将JavaScript放在HTML文档结尾处的 body >标签里,这样就可以确保在JavaScript运行时整个页面已经加载完毕。然而,由于在运行< canvas >程序前需要使用JavaScript测试页面是否加载,因此最好还是将JavaScript放在< head >中。如果读者不喜欢这样,也可以采用适合自己的代码习惯。

    代码放在哪儿都行——可以放在HTML页面代码行内,也可以加载一个外部 .js文件。加载外部JavaScript文件的代码大致如下。

    <script type="text/javascript" src="canvasapp.js"></script>
    

    简单起见,这里将把代码写在HTML页面行内。不过,如果读者有把握,把它放在一个外部文件再加载运行也未尝不可。

    提示
    HTML5不需要再指定脚本类型。

    展开全文
  • 本节书摘来自异步社区《HTML5 canvas开发详解(第2版)》一书中的第1章,第1.3节,作者: 【美】Steve Fulton , Jeff Fulton 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.3 本书使用的基础HTML页面 ...
  • HTML5Canvas_开发详解_第2版_高清完整版,本人亲测可用。系扫描描PDF版,分享给大家,一起学习
  • 学习本书,可以让你掌握所有Canvas API、大部分动画技术以及各种高级开发技巧,真正获得一个稀有技能! 全书共分为两大部分,第一部分是Canvas基础内容,主要介绍Canvas API语法,其中包括图形绘制、线条操作、文本...
  • Your browser does not support HTML 5 Canvas.
  • HTML5_Canvas(第2版)详解pdf+全部源代码 ,pdf字迹清晰,内容完整,源码完整可运行,
  • 通过HTML5+Canvas开发详解(第2版),你将学到如何使用Canvas进行绘图、渲染文字、处理图像、创建动画,而这些是开发交互式Web游戏的必备知识。 本书针对Canvas和HTML5技术的最新变动进行了更新,其中包含了大量清晰...
  • html5开发精要与实例详解.pdf html5开发精要与实例详解配套代码网络上很多
  • HTML5网页开发实例详解

    热门讨论 2014-05-29 17:15:36
    本书从实际的应用场景出发,结合当下的热门技术,深入浅出地介绍了 HTML 5所包含的各项新技术。本书分为 14章。第 1~4章介绍了 HTML 5和浏览器的发展史、 HTML 5新特性的使用,最新的前端设计概念和第三方流行应用...
  • 5章 移动端HTML5开发详解 103 5.1 桌面端开发概述 103 5.1.1 桌面端和移动端有何不同? 103 5.1.2 响应式设计还是移动版网站? 104 5.2 移动端开发技巧 105 5.2.1 Viewport设置 105 5.2.2 百分比布局 ...
  •  11.1 谁在开发HTML 5 222  11.2 HTML 5的新认识 222  11.2.1 兼容性 222  11.2.2 实用性和用户优先 222  11.2.3 化繁为简 223  11.3 无插件范式 223  11.4 HTML 5的新特性 224  11.5 小结 224  第12章 ...
  • HTML5 开发精要与实例详解,清晰,带标签版本 内容分为两大部分:第一部分通过一系列中大型案例全方位对html 5的各个重要知识点进行了详细的讲解,每个案例包含案例概述、页面效果展示、案例所涉及主要知识点(精要...
  • Html5权威指南中文版最新开发pdf,提供html5的整体学习。权威指南,贴近实战。最新技术
  • 5章 移动端HTML5开发详解 103 5.1 桌面端开发概述 103 5.1.1 桌面端和移动端有何不同? 103 5.1.2 响应式设计还是移动版网站? 104 5.2 移动端开发技巧 105 5.2.1 Viewport设置 105 5.2.2 百分比布局 ...
  • wx.openDocument可以实现文档预览功能,支持的格式包括doc、xls、ppt、pdf、docx、xlsx、pptx等格式。移动端预览文档很不方便,该功能弥补了这方面的缺陷,相信读者利用此API可做出很实用的小程序。使用示例如下: ...
  • HTML5从入门到精通pdf

    2018-02-28 09:51:00
    下载地址:网盘下载内容简介······《HTML5从入门到精通》系统、全面地讲解了HTML语言及其最新版本HTML5的新功能与新特性,技术新颖实用。书中所有知识点均结合实例进行讲解,方便读者动手实践。同时在每章的...
  • HTML5基础知识、核心技术与前沿案例 》是一本引导初、中级学习者深入了解并有效掌握HTML5核心技巧的技术实战书籍,全书采用“基础知识+案例驱动”的双轨模式,精心安排了大量经典的HTML5设计实战案例,包括页面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 692
精华内容 276
关键字:

html5canvas开发详解pdf