js-权威指南学习笔记21
第二十一章 多媒体和图形编程
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的更多相关文章
- js权威指南---学习笔记02
1.JS只有函数作用域,没有块级作用域这个概念: 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作:在原先位置执行赋值操作: 2.声明的全局变量,相当 ...
- js权威指南学习笔记(四)对象
1.创建对象 (1).通过对象直接量的方式创建 说明:对象直接量是由若干名/值对组成的映射表,名/值对中间用冒号分隔,名/值对之间用逗号分隔,整个映射表用花括号括起来. 如: 5 5 ...
- js权威指南学习笔记(一)类型、值和变量
1.数据类型:原始类型(primitive type) 和对象类型(object type) 原始类型包括数字.字符串和布尔值: 除数字.字符串.布尔值.null(空).undefined(未定义), ...
- js权威指南---学习笔记01
1.当函数赋值给对象的属性时,就变为了方法:2.被零整除不报错,只会返回无穷大(Infinity)或者负无穷大.例外:零除以零等于非数字(NaN).3.NaN与任何值都不相等! 4.Javascrip ...
- js权威指南学习笔记(三)语句
1.声明语句 如果用var声明的变量没有初始化,那么这个变量的值会被初始化为undefined. 函数声明语句的语法如下: 4 4 1 console.log(func ...
- js权威指南学习笔记(二)表达式与运算符
1.数组初始化表达式 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充undefined.如: 2 2 1 var arr = [1,,,,,6]; 2 ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...
- 《JS权威指南学习总结》
JS权威指南学习总结:http://www.cnblogs.com/ahthw/category/652668.html
- 《JS权威指南学习总结--开始简介》
本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...
- HTTP权威指南-学习笔记
目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...
随机推荐
- 【ElasticSearch】:Windows下ElasticSearch+版本安装head
概述 elasticsearch-head,之前插件plugin方式已废弃,现已改为nodejs的NPM安装,独立WEB服务方式. elasticsearch-head网址:https://githu ...
- python学习笔记14-函数
使用关键字def来创建函数 注意缩进 函数命名规则: 1.必须以下划线或者字母开头 2.区分大小写 3.不能是保留字 调用函数一定记得加括号 def print_info(name,age) pri ...
- ORA-01113 & ORA-01110同时出现
\NOARCHIVED LOG , 没备份 , Redo Log 被覆盖 , 某个datafile不能online 设计知识点:BBED> set block 1BBED> p kcvfh ...
- MySQL命令行登陆,远程登陆MySQL
注: MySQL图形界面管理工具[navicat 10.1.8中文绿色版] 下载地址:http://www.t00y.com/file/18393836 备用地址:http://ProCircle.q ...
- 在Ubuntu Server上安装Postgresql
首先更新一下源: sudo apt-get update 如果你不知道Postgresql具体的包的名称,可以使用一下语句进行查找: apt-cache search ^Postgresql 使用上述 ...
- vuejs之Vue Devtools
Vue Devtools大法好 这是一篇小白friendly教程 Vue Devtools是一款谷歌浏览器插件,专门为调试vue而设计.假设你做了一个vue应用,当你在调试的过程中,打开的控制台是这样 ...
- 读书笔记(01) - JSON - JavaScript高级程序设计
JSON与JavaScript对象 JSON是一种表示结构化数据的存储格式,语法格式上与JavasScript对象有些类似. TIPS: 与JavaScript对象的格式区别 不支持变量.函数或对象实 ...
- springboot-33-使用maven打瘦包
直接使用maven的插件打包的话, 打出来一个jar, 会非常大, 有时候在服务上传的时候会非常不方便, <plugin> <groupId>org.springframewo ...
- dubbo + zookeeper 简介和部署
Dubbo简介: Dubbo 是阿里巴巴公司开源(以前不开源)的一个高性能优秀的服务框架, 使得应用可通过高性能的 RPC 实现服务的输入和输出功能, 可以和spring框架无缝集成. 那么这里, 啥 ...
- GCC 多文件编辑
#include <stdio.h> int plus(int a, int b); int minus(int a, int b); int multiply(int a, int b) ...