• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > html5中的Canvas 和 SVG分别是什么?它们的区别在何处?(实例)

html5中的Canvas 和 SVG分别是什么?它们的区别在何处?(实例)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含Canvas,SVG,HTML5等相关知识,匿名希望在学习及工作中可以帮助到您
本章给大家介绍html5中的Canvas 和 SVG分别是什么?它们的区别在何处?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、什么是Canvas ?

Canvas 是指定了长度和宽度的矩形画布,我们将使用新的HTML5 JavaScript,可使用HTML5 JS API 来画出各种图形。不过,canvas本身并没有绘制能力(它仅仅是图形的容器) - 您必须使用脚本来完成实际的绘图任务。

Canvas 实例代码:创建画布,然后再画布上绘一个圆形

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>canvas画布</title>
		<style type="text/css">
			.demo{
				width: 500px;
				height: 150px;
				margin: auto;
			}
		</style>
	</head>
	<body>
		<div class="demo">
			<!--添加canvas便签,创建画布-->
			<canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;">
			    您的浏览器不支持 HTML5 canvas 标签。
			</canvas>
		</div>
	</body>
	<script type="text/javascript"> 
		var c=document.getElementById("myCanvas");
		var ctx=c.getContext("2d");
		ctx.beginPath();
		ctx.arc(95,50,40,0,2*Math.PI);
		ctx.stroke();
	</script>
</html>

效果图:

6.jpg

二、什么是SVG ?

SVG可缩放矢量图形(Scalable Vector Graphics)是基于可扩展标记语言(XML),用于描述二维矢量图形的一种图形格式。SVG是W3C制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准。SVG严格遵从XML语法,并用文本格式的描述性语言来描述图像内容,因此是一种和图像分辨率无关的矢量图形格式。

我们可以简要概括一下SVG:
SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
  SVG 用来定义用于网络的基于矢量的图形
  SVG 使用 XML 格式定义图形
  SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
  SVG 是万维网联盟的标准
  SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

SVG实例代码:

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>SVG</title>
		<style type="text/css">
			.demo{
				width: 500px;
				height: 150px;
				margin: auto;
			}
		</style>
	</head>
	<body>
		<div class="demo">
			<svg width="100%" height="100%"  >
		        <circle cx="300" cy="60" r="50" stroke="#ff0" stroke-width="3" fill="red" />
		    </svg>
		</div>
	</body>
</html>

效果图:

7.jpg

三、Canvas 和 SVG的区别

SVG

 SVG 是一种使用 XML 描述 2D 图形的语言。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

 特点:
不依赖分辨率
 支持事件处理器
 最适合带有大型渲染区域的应用程序(比如谷歌地图)
 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
 不适合游戏应用

Canvas

 Canvas 通过 JavaScript 来绘制 2D 图形。
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

 特点:
 依赖分辨率
 不支持事件处理器
 弱的文本渲染能力
 能够以 .png 或 .jpg 格式保存结果图像
 最适合图像密集型的游戏,其中的许多对象会被频繁重绘

以上就是html5中的Canvas 和 SVG分别是什么?它们的区别在何处?(实例)的详细内容,更多请关注微课江湖其它相关文章!

您可能想查找下面的文章:

  • canvas与html5实现视频截图功能示例
  • 详解html5 canvas常用api总结(二)--绘图API
  • HTML5 Canvas玩转酷炫大波浪进度图效果实例(附demo)
  • 详解使用HTML5 Canvas创建动态粒子网格动画
  • 解决canvas转base64/jpeg时透明区域变成黑色背景的方法
  • 用html5的canvas和JavaScript创建一个绘图程序的简单实例
  • HTML5 canvas基本绘图之图形组合
  • HTML5 canvas基本绘图之文字渲染
  • HTML5 canvas基本绘图之绘制曲线
  • HTML5 canvas基本绘图之图形变换

相关文章

  • 2018-12-03HTML5讲解之dataTransfer对象
  • 2018-12-03HTMl5的存储方式sessionStorage和localStorage详解_html5教程技巧
  • 2018-12-03html 中的 input,怎样触发 iOS 中不同类型的键盘?
  • 2018-12-03Application Cache未缓存文件无法访问无法加载问题_html5教程技巧
  • 2018-12-03用HTML5开发App真的好嘛?
  • 2018-12-03h5输入框提示语 + 正常文本框提示语的实现方法
  • 2018-12-03html5指南-7.geolocation结合google maps开发一个小的应用_html5教程技巧
  • 2018-12-03想在猪八戒接做网页,要怎样系统的学习 ?
  • 2018-12-03HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述_html5教程技巧
  • 2018-12-03用H5的canvas做出弹幕效果

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 20个为前端开发者准备的文档和指南(2)
    • 零基础学习HTML5
    • 配置H5的滚动条样式
    • HTML5 离线应用之打造零请求、无流量网站的解决方法_html5教程技巧
    • Html5实现iPhone开机界面示例代码
    • html标签之Object和EMBED标签详解
    • html5指南-1.html5全局属性(html5 global attributes)深入理解_html5教程技巧
    • HTML5支持服务器发送事件
    • HTML5学习笔记简明版(1):HTML5介绍与语法
    • HTML5 canvas实现雪花飘落特效_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有