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

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. MySQL赋权

    MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利.grant select ...

  2. grub 引导修复

  3. 移动一根火柴使等式成立js版本

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  4. Apache JMeter的基本使用

    安装 安装地址:http://jmeter.apache.org/download_jmeter.cgi 解压后运行jmeter.bat的批处理文件就可以了 JMeter测试脚本编写: 1,创建线程组 ...

  5. vue-cli项目配置文件分析

    最近在vue-cli生成的webpack模板项目的基础上开发了一些项目,开发过程中遇到很多坑,并且需要改动build和config里面一些相关的配置,查阅,学习,总结,分享. 一.配置文件结构 本文主 ...

  6. widows下 python环境变量配置

    widows下 python环境变量配置 便于cmd命令行操作,例如:直接进入Python解释器环境.使用pip安装模块等.

  7. 字符串编码C#

    给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”.比如字符串AAAABCCDAA会被编码成4A1B2C1D2A. 输入描述: 每个测试输入包含1个测试用例 每个测试用例 ...

  8. python解析json数据

    现在的API接口多为xml或json,json解析更简洁相对xml来说 以豆瓣的API接口为例,解析返回的json数据: https://api.douban.com/v2/book/1220562 ...

  9. Java动态代理总结

    在之前的代码调用阶段,我们用action调用service的方法实现业务即可. 由于之前在service中实现的业务可能不能够满足当先客户的要求,需要我们重新修改service中的方法,但是servi ...

  10. 线程中的读写锁ReadWriteLock

    Lock锁还有两个非常强大的类 ReadWriteLock接口实现类ReentrantReadWriteLock(非常重要的锁) 想实现 读取的时候允许多线程并发访问,写入的时候不允许. 这种效果.. ...