首页 > 其他分享 >【整理】html5知识点2

【整理】html5知识点2

时间:2023-04-03 15:33:44浏览次数:63  
标签:知识点 Canvas SVG ctx var html5 整理 YES HTML5


1、=========================================================HTML5 Canvas

创建一个画布(Canvas)
<canvas id="myCanvas" width="200" height="100"></canvas>


使用 JavaScript 来绘制图像

<script>

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

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

 ctx.fillStyle="#FF0000";

 ctx.fillRect(0,0,150,75);

 </script>


Canvas - 路径
moveTo(x,y) 定义线条开始坐标
lineTo(x,y) 定义线条结束坐标


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

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

 ctx.moveTo(0,0);

 ctx.lineTo(200,100);

 ctx.stroke();



在canvas中绘制圆形, 我们将使用以下方法:

arc(x,y,r,start,stop)

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

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

 ctx.beginPath();

 ctx.arc(95,50,40,0,2*Math.PI);

 ctx.stroke();




Canvas - 文本
使用 canvas 绘制文本,重要的属性和方法如下:
font - 定义字体
fillText(text,x,y) - 在 canvas 上绘制实心的文本
strokeText(text,x,y) - 在 canvas 上绘制空心的文本
使用 fillText():


实心文字
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.font="30px Arial";
ctx.fillText("Hello World",10,50);


空心文字
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.font="30px Arial";
ctx.strokeText("Hello World",10,50);


Canvas - 渐变
createLinearGradient(x,y,x1,y1) - 创建线条渐变
createRadialGradient(x,y,r,x1,y1,r1) - 创建一个径向/圆渐变
当我们使用渐变对象,必须使用两种或两种以上的停止颜色。
addColorStop()方法指定颜色停止,参数使用坐标来描述,可以是0至1.
使用渐变,设置fillStyle或strokeStyle的值为 渐变,然后绘制形状,如矩形,文本,或一条线。
使用 createLinearGradient():


线性渐变

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

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



 // Create gradient

 var grd=ctx.createLinearGradient(0,0,200,0);

 grd.addColorStop(0,"red");

 grd.addColorStop(1,"white");



 // Fill with gradient

 ctx.fillStyle=grd;

 ctx.fillRect(10,10,150,80);




径向渐变\圆形渐变

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

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



 // Create gradient

 var grd=ctx.createRadialGradient(75,50,5,90,60,100);

 grd.addColorStop(0,"red");

 grd.addColorStop(1,"white");



 // Fill with gradient

 ctx.fillStyle=grd;

 ctx.fillRect(10,10,150,80);




Canvas - 图像

<img id="scream" src="img_the_scream.jpg" alt="The Scream" width="220" height="277"><p>Canvas:</p>

 <canvas id="myCanvas" width="250" height="300" style="border:1px solid #d3d3d3;">


您的浏览器不支持 HTML5 canvas 标签。</canvas>



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

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

 var img=document.getElementById("scream");



 img.onload = function() {

ctx.drawImage(img,10,10);

 }




2、=========================================================HTML5 内联 SVG
什么是SVG?
SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
SVG 用于定义用于网络的基于矢量的图形
SVG 使用 XML 格式定义图形
SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失
SVG 是万维网联盟的标准


SVG优势
与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于:
SVG 图像可通过文本编辑器来创建和修改
SVG 图像可被搜索、索引、脚本化或压缩
SVG 是可伸缩的
SVG 图像可在任何的分辨率下被高质量地打印
SVG 可在图像质量不下降的情况下被放大


把 SVG 直接嵌入 HTML 页面

<!DOCTYPE html>

 <html>

 <body>

 <svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="190">

   <polygon points="100,10 40,180 190,60 10,60 160,180"

   style="fill:lime;stroke:purple;stroke-width:5;fill-rule:evenodd;">

 </svg>

 </body>

 </html>




SVG 与 Canvas两者间的区别
SVG 是一种使用 XML 描述 2D 图形的语言。
Canvas 通过 JavaScript 来绘制 2D 图形。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。


3、=========================================================HTML5 MathML
4、=========================================================HTML5 拖放(Drag 和 Drop)
5、=========================================================HTML5 Geolocation(地理定位)
6、=========================================================HTML5 Video(视频)
带控制器的视频

<!DOCTYPE html>

 <html>

 <body>

 <video width="320" height="240" controls>

   <source src="movie.mp4" type="video/mp4">

   <source src="movie.ogg" type="video/ogg">

   您的浏览器不支持 HTML5 video 标签。

 </video>



 </body>

 </html>




js控制播放的视频

<!DOCTYPE html> 

 <html> 

 <body> 

 <div style="text-align:center"> 

   <button οnclick="playPause()">播放/暂停</button> 

   <button οnclick="makeBig()">放大</button>

   <button οnclick="makeSmall()">缩小</button>

   <button οnclick="makeNormal()">普通</button>

   <br> 

   <video id="video1" width="420">

     <source src="mov_bbb.mp4" type="video/mp4">

     <source src="mov_bbb.ogg" type="video/ogg">


    您的浏览器不支持 HTML5 video 标签。

</video>

 </div> 

 <script> 

 var myVideo=document.getElementById("video1"); 

 function playPause()

 { 

 if (myVideo.paused) 

   myVideo.play(); 

 else 

   myVideo.pause(); 

 } 

 function makeBig()

 { 

 myVideo.width=560; 

 } 

 function makeSmall()

 { 

 myVideo.width=320; 

 } 

 function makeNormal()

 { 

 myVideo.width=420; 

 } 

 </script> 

 </body> 

 </html>




HTML5 Video 标签
标签 描述

<video>
 定义一个视频

 <source>
 定义多种媒体资源,比如 <video> 和<audio>

 <track>
 定义在媒体播放器文本轨迹




带有两个字幕轨道的视频:

<video width="320" height="240" controls>

 <source src="forrest_gump.mp4" type="video/mp4">

 <source src="forrest_gump.ogg" type="video/ogg">

 <track src="subtitles_en.vtt" kind="subtitles" srclang="en"

 label="English">

 <track src="subtitles_no.vtt" kind="subtitles" srclang="no"

 label="Norwegian">

 </video>




7、=========================================================HTML5 Audio(音频)
<!DOCTYPE html>
<html>
<body>
<audio controls>
  <source src="horse.ogg" type="audio/ogg">
  <source src="horse.mp3" type="audio/mpeg">
您的浏览器不支持 audio 元素。
</audio>
</body>
</html>


音频格式及浏览器支持
目前, <audio>元素支持三种音频格式文件: MP3, Wav, 和 Ogg:
浏览器 MP3 Wav Ogg
Internet Explorer 9+ YES NO NO
Chrome 6+ YES YES YES
Firefox 3.6+ YES YES YES
Safari 5+ YES YES NO
Opera 10+ YES YES YES


音频格式的MIME类型
Format MIME-type
MP3 audio/mpeg
Ogg audio/ogg
Wav audio/wav


HTML5 Audio 标签
标签 描述
<audio> 定义了声音内容
<source> 规定了多媒体资源, 可以是多个,在 <video> 与 <audio>标签中使用

标签:知识点,Canvas,SVG,ctx,var,html5,整理,YES,HTML5
From: https://blog.51cto.com/u_13128132/6166544

相关文章

  • 【整理】html5知识点1
    1、关于html5HTML5是HTML最新的修订版本,2014年10月由万维网联盟(W3C)完成标准制定。HTML5的设计目的是为了在移动设备上支持多媒体。HTML5简单易学。HTML5是下一代HTML标准。HTML,HTML4.01的上一个版本诞生于1999年。自从那以后,Web世界已经......
  • 电梯演说选题及整理
    各位用户、合作伙伴:我们的产品“个人记账本”是为了解决中年(45~60岁),老年人(60岁)的痛苦,他们需要更加简单的文字录入方式,但是现有的方案并没有很好地解决这些需求,我们有独特的办法就是ocr图片文字识别,它给用户带来的好处是可以通过拍照的方式识别小票进行个人消费记录,远远超过竞争对......
  • JavaIO流:主要知识点
    JavaIO流:主要知识点File类介绍:java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关。File能新建、删除、重命名文件和目录,但File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。想要在Java程序中表示一个真实存在的文件或目录,那么必......
  • Android Camera相关知识整理
    View相关原文:SerfaceView与TextureView的区别区别:Sureface有自己的Serface(由屏幕显示内容合成器(screencompositor)所管理的原生缓冲器的句柄)是一个单独的View,会在WMS中创建单独的窗口,有自己的渲染进程,不受UI层的控制,因此不能与其他UI组合在一起,不能进行平移缩放等变换。而Tex......
  • 八股文整理
    项目:1、多路复用技术?select、poll、epoll2、有限状态机?一种理论模型,主状态机解析HTTP报文请求行、请求头、请求体,从状态机读取一行。3、什么是IO多路复用,和多线程模式对比一个线程监听多个socket,处理多个请求。多线程模式是由多个线程来进行处理事务,每新来一个请求,都需要创......
  • 别逛了,送你一份2023年Java核心篇JVM(虚拟机)面试题整理
    Java内存区域说一下JVM的主要组成部分及其作用?JVM包含两个子系统和两个组件,两个子系统为Classloader(类装载)、Executionengine(执行引擎);两个组件为Runtimedataarea(运行时数据区)、NativeInterface(本地接口)。●Classloader(类装载):根据给定的全限定名类名(如:java.......
  • django:数据库的一些进阶知识点与应用
    一,连接池使用第三方程序向数据库发出数据操作请求前,都需要先创建到数据库的连接,这个操作会占用大量资源。所谓的资源消耗,一是对数据库连接数量的消耗;二是对系统内存资源的消耗;三是连接建立过程对时间的消耗,时间消耗角度可以参考这篇博客。django默认会在请求进来的时候创建......
  • 软件构造规约设计知识点总结
    已经开始做软件构造实验二了,但做了几天还是感觉不太对,有种无从下手的感觉,我还是来复习一下本次实验所要用到的知识点吧,至于前面的知识呢,先别急,虽然也用的上,但在本次实验不是重点,之后再进行复习。知识点概要:规约设计测试用例ADT的泛化型ADT的抽象函数(AF)、......
  • DIM中的一些知识点(慢更)
    最大深度互信息模型(DIM)执行图片搜索器MINE方法:之前看下面这句话的时候总是云里雾里,好好推了下公式终于明白啦。利用神经网络计算互信息可以转换为计算两个数据集合的联合分布和边缘分布之间的散度具体推导过程:如图,首先,我们有:I(X;Y)=H(X)-H(X|Y)其中,H(X......
  • QMainWindow知识点记录
    1.新建action toolbaropenFileAction = new QAction(QIcon(":/pic/open"), QString::fromLocal8Bit("打开"), this); openFileAction->setShortcut(tr("Ctrl+O")); openFileAction->setStatusTip(tr("打开一个文件"));-------......