第二十一章 多媒体和图形编程

1、为了强制让图片缓存起来,首先利用Image()构造函数来创建一个屏幕外的图片对象,之后将该对象的src属性设置成期望的URL。

2、由于各家浏览器制造商未能在对标准音频和视频编解码器支持上达成一致,因此通常都需要使用<source>元素来指定不同格式的媒体源。

3、<audio><video>元素都支持一个controls属性,如果设置了该属性,将会显示一系列播放控件,包括播放暂停按钮/音量控制等。

4、HTML5的媒体API允许使用Audio()构造函数,并将媒体源URL作为参数,来创建一个屏幕外音频元素。

5、想要测试一个媒体元素能否播放制定该类型的媒体文件,可以调用canPlayType()方法并将媒体的MIME类型传递进去。

6、如果通过在媒体元素中添加<source>元素而不是设置src属性的方式指定媒体源,媒体元素无法知道是否已经将一系列<source>元素都已经添加完毕,因此它不会开始选择并加载<source>指定的媒体源文件,除非显式地调用load()方法。

7、当时用<img>或者<object>元素展示SVG图形的时候,SVG就变成了另外一种图片格式了,这种方式对于JS程序员来说是不友好的。更好的方式是直接将SVG图片嵌入到HTML文档中,这样这些图片就可以通过脚本的方式来控制。

8、HTML5将XML和HTML的区别进一步缩小,允许SVG标记直接在HTML文件中使用,不需要命名空间的生命或者标签前缀。

9、<canvas>元素和SVG之间的一个重要的区别是,使用canvas来绘制图形是通过调用它提供的方法而是用SVG绘制图形是通过构建一颗XML元素树来实现的。

10、大部分画布绘制API都不是在<canvas>元素自身上定义的,而是定义在一个“绘制上下文”对象上,获取该对象可以通过调用画布的getContext()方法,传递一个2d参数,会获得一个CanvasRenderingContext2D对象,使用该对象可以在画布上绘制二维图形。

11、调用beginPath()方法开始定义一条新的路径,而调用moveTo()方法则开始定义一条新的子路径。

12、对于未闭合的子路径,调用fill()方法填充的时候,会假设子路径的终点和起点是连接起来的,调用closePath()方法将终点和起点真正连接。

13、要检测一个点P是否在路径的内部,使用非零绕数原则。

14、调用save()方法会将当前图形状态压入用于保存状态的栈上。调用restore()方法会从栈中弹出并恢复最近一次保存的状态。

15、HSL颜色空间采用三个数字来指定颜色,分别代表色调、饱和度、亮度。

16、要使用背景图片而不是颜色来填充或者勾勒,可以将fillStyle或者strokeStyle属性设置成CanvasPattern对象,该对象可以通过调用上下文对象的createPattern()方法返回。

17、要使用渐变色来进行填充或者勾勒,可以将fillStyle或者strokeStyle属性设置成一个CanvasGradient对象,该对象可以通过调用上下文对象上的createLinearGradient()或者createRadialGradient()方法来返回。

18、阴影:shadowOffsetX属性和shadowOffsetY属性总是在默认的坐标空间中度量,不受rotate()方法和scale()方法的影响。

19、调用getImageData()方法会返回一个ImageData对象,该对象表示画布矩形区域中的原始像素信息。

js-权威指南学习笔记21的更多相关文章

  1. js权威指南---学习笔记02

    1.JS只有函数作用域,没有块级作用域这个概念: 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作:在原先位置执行赋值操作: 2.声明的全局变量,相当 ...

  2. js权威指南学习笔记(四)对象

    1.创建对象 (1).通过对象直接量的方式创建 说明:对象直接量是由若干名/值对组成的映射表,名/值对中间用冒号分隔,名/值对之间用逗号分隔,整个映射表用花括号括起来. 如:       5 5   ...

  3. js权威指南学习笔记(一)类型、值和变量

    1.数据类型:原始类型(primitive type) 和对象类型(object type) 原始类型包括数字.字符串和布尔值: 除数字.字符串.布尔值.null(空).undefined(未定义), ...

  4. js权威指南---学习笔记01

    1.当函数赋值给对象的属性时,就变为了方法:2.被零整除不报错,只会返回无穷大(Infinity)或者负无穷大.例外:零除以零等于非数字(NaN).3.NaN与任何值都不相等! 4.Javascrip ...

  5. js权威指南学习笔记(三)语句

    1.声明语句 如果用var声明的变量没有初始化,那么这个变量的值会被初始化为undefined. 函数声明语句的语法如下:       4 4           1 console.log(func ...

  6. js权威指南学习笔记(二)表达式与运算符

    1.数组初始化表达式 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充undefined.如:       2 2           1 var arr = [1,,,,,6]; 2 ...

  7. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...

  8. 《JS权威指南学习总结》

    JS权威指南学习总结:http://www.cnblogs.com/ahthw/category/652668.html

  9. 《JS权威指南学习总结--开始简介》

    本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...

  10. HTTP权威指南-学习笔记

    目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...

随机推荐

  1. python之ETL数据清洗案例源代码

    #python语言 import pandas as pd import time data = pd.read_excel('ETL_数据清洗挑战.xlsx','测试数据',dtype=str)#读 ...

  2. mybatis使用中的记录

    一: 常用sql语句: sql顺序:select [distinct] * from 表名 [where group by having order by limit]; 查询某段时间内的数据:    ...

  3. linux下hex转ascii

    场景: 在wireshark里面提取response包的值. echo -n "1f8b08000000000000030cd335b2e580014" | xxd -r -p & ...

  4. POJ 2538

    #include<string> //#include #include<stdio.h> #include<iostream> using namespace s ...

  5. Django两天搭建个人博客

    传送门:https://github.com/1417766861/django-blog(可直接运行,上面有步骤) 效果: 首页: 侧栏: 详情页面: 修改头像,资料,文章发布: 支持添加标签拖拽 ...

  6. 在Ubuntu Server上安装Postgresql

    首先更新一下源: sudo apt-get update 如果你不知道Postgresql具体的包的名称,可以使用一下语句进行查找: apt-cache search ^Postgresql 使用上述 ...

  7. 制作windows服务

    1.下载winsw-1.8-bin.exe并更名: 2.配置winsw-1.8-bin.exe同上名<?xml version="1.0" encoding="UT ...

  8. GO入门——1.基础

    1 安装配置与命令 GOROOT:Go根目录 GOPATH:GO工作目录,其目录下需要建立一下三个子目录 bin :存放编译后生成的可执行文件 pkg :存放编译后生成的包文件 src :存放项目源码 ...

  9. es6学习笔记12--Class

    Class基本语法 概述 JavaScript语言的传统方法是通过构造函数,定义并生成新对象.下面是一个例子. function Point(x,y){ this.x = x; this.y = y; ...

  10. [源码]underscore-1.8.3

    // Underscore.js 1.8.3 // http://underscorejs.org // (c) 2009-2015 Jeremy Ashkenas, DocumentCloud an ...