HTML5技术

HTML5 基础 - 彼岸时光(2)

字号+ 作者:H5之家 来源:H5之家 2016-03-08 17:00 我要评论( )

video 元素元素还提供了 width 和 height 属性来控制视频的尺寸,如果设置了宽度和高度,则所需的视频空间会在页面加载时保留。如果没有设置这些属性,浏览器并不知道视频的大小,就不能在加载时保留特定的空间,页

  <video> 元素元素还提供了 width 和 height 属性来控制视频的尺寸,如果设置了宽度和高度,则所需的视频空间会在页面加载时保留。如果没有设置这些属性,浏览器并不知道视频的大小,就不能在加载时保留特定的空间,页面则会根据原始视频的大小而改变,这一点需要注意。

  <video> 元素可以使用 DOM 进行控制。

  <video> 元素同样拥有方法、属性和事件,可以使用 JS 进行控制。其中的方法有用于播放、暂停以及加载等。其中的属性(比如时长、音量等)可以被读取或设置。其中的 DOM 事件能够通知你,比如 <video> 元素开始播放、已暂停,已停止,等等。

  为视频创建简单的播放/暂停以及调整尺寸的控件:

Video DOM播放/暂停放大缩小正常); playPause(){ (oVideo.paused){ 29 oVideo.play(); { 31 oVideo.pause(); 32 } 33 } showBig(){ ; ; 38 } showSmall(){ ; ; 43 } showNormal(){ ; ; 48 }

   上面的例子调用了两个方法:play() 和 pause(),即播放/暂停。

  它同时还使用了三个属性:paused、width 和 height,在所有属性中,只有 width 和 height 属性是立即可用的,在视频的元数据已加载后,其他属性才可用。

3、HTML5 Canvas

  <canvas> 元素用于在网页中绘制图形,比如图表和其他图像,但必须使用 JS 来绘制图形。

  (1)、什么是 Canvas

  Canvas 翻译为画布,画布是一个矩形区域,可以控制每一像素。

  HTML5 的 Canvas 元素用于绘制图像,但他仅仅只是图形的容器,必须使用 JavaScript 来绘制图形。

  getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。

  Canvas 拥有多种绘制路径,矩形、圆形、字符以及添加图像的方法。

   (2)、创建 Canvas

  向页面添加 <canvas> 元素,规定元素的 ID、宽度和高度:

  注意:<canvas> 元素通常需要指定一个 id 属性,以便 JS 查找元素,width 和 height 属性用于定义的画布的大小。

  在默认情况下 <canvas> 元素没有边框和内容,可以在页面中创建多个 <canvas> 元素,为了便于图形的绘制,可以使用 style 属性为画布添加边框。

  (3)、使用 JavaScript 来绘制图形

  canvas 元素本身是没有绘图能力的,必须使用 JavaScript 来完成实际的绘图任务:

1 <script> 2 var c = document.getElementById('myCanvas'); 3 var cxt = c.getContext("2d"); 4 cxt.fillStyle = "#FF0000"; 5 cxt.fillRect(0,0,150,75); 6 </script>

  代码解析:

  首先,JS 通过设置的 ID 属性获取 <canvas> 元素:

var c = document.getElementById("myCanvas");

  然后,创建 context 对象:

var ctx = c.getContext("2d");

  getContext("2d") 对象是内建的 HTML5 对象,拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。

  最后的两行代码用于绘制一个红色背景的矩形:

1 ctx.fillStyle = "#FF0000"; 2 ctx.fillRect(0,0,150,75);

  fillStyle 方法将其染成红色,fillRect 方法规定了形状、位置和尺寸。

  设置 fillStyle 属性可以是 CSS 颜色,渐变,或图案。fillStyle 默认设置是 #000000(黑色)。

  fillRect(x,y,width,height) 方法定义了矩形当前的填充方式。

  (4)、理解 Canvas 坐标

  canvas 是一个二维网格,左上角坐标为 (0,0)。

  上面代码中的 fillRect 方法拥有参数 (0,0,150,75),意思是:在画布上绘制 150x75 的矩形,从左上角开始 (0,0)。

  如下图所示,画布的 X 和 Y 坐标用于在画布上对绘画进行定位。

X

Y

 

 

  鼠标在矩形框内移动,可以显示定位坐标。

 

  (5)、Canvas 绘制路径

  下表是 Canvas 绘制路径方法:

方法 说明

moveTo() 把路径移动到画布中的指定点,不创建线条

lineTo() 添加一个新点,然后在画布中创建从该点到最后指定点的线条

stroke() 绘制已定义的路径

arc() 创建弧/曲线(用于创建圆形或部分圆)

arcTo() 创建两切线之间的弧/曲线

beginPath() 起始一条路径,或重置当前路径

closePath() 创建从当前点回到起始点的路径

fill() 填充当前绘图(路径)

quadraticCurveTo() 创建二次贝塞尔曲线

bezierCurveTo() 创建三次方贝塞尔曲线

clip() 从原始画布剪切任意形状和尺寸的区域

isPointInPath() 如果指定的点位于当前路径中,则返回 true,否则返回 false

  贝塞尔曲线,又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。

  在 Canvas 上画线,我们将使用以下两种方法:

    ①:moveTo(x,y) 定义线条开始坐标。

    ②:lineTo(x,y) 定义线条结束坐标。

  最后通过 stroke() 方法来绘制当前路径。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • HTML5 进阶系列:拖放 API 实现拖放排序 - _林鑫

    HTML5 进阶系列:拖放 API 实现拖放排序 - _林鑫

    2017-05-02 11:02

  • vue全局配置----小白基础篇 - 星光笔

    vue全局配置----小白基础篇 - 星光笔

    2017-04-28 08:04

  • HTML5 进阶系列:indexedDB 数据库 - _林鑫

    HTML5 进阶系列:indexedDB 数据库 - _林鑫

    2017-04-27 14:02

  • HTML5 高级系列:web Storage - _林鑫

    HTML5 高级系列:web Storage - _林鑫

    2017-04-27 14:01

网友点评
c