问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

HTML中SVG和CANVAS的区别

发布网友 发布时间:2022-05-12 00:02

我来回答

4个回答

懂视网 时间:2022-05-12 04:23

本章给大家介绍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 格式保存结果图像
 最适合图像密集型的游戏,其中的许多对象会被频繁重绘

热心网友 时间:2022-05-12 01:31

区别一:
svg绘制出来的每一个图形的元素都是独立的DOM节点,能够方便的绑定事件或用来修改。canvas输出的是一整幅画布;

区别二:
svg输出的图形是矢量图形,后期可以修改参数来自由放大缩小,不会是真和锯齿。而canvas输出标量画布,就像一张图片一样,放大会失真或者锯齿。

热心网友 时间:2022-05-12 02:49

1) svg绘制出来的每一个图形元素都是独立的DOM节点,可方便后期绑定事件或修改,而canvas输出的是一整幅画布;
2) svg输出的图形是矢量的,后期可以修改参数来自由放大缩小,无失真,canvas输出标量画布,就像一张图片一样。追问谢谢

热心网友 时间:2022-05-12 04:24

svg是矢量图,canvas是点阵图
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
冠状病毒酒精消毒怎么使用 袁咏仪主演的真爱之百万新娘哪个网站可以看 ...方便的话告诉我结局怎么样。陈玉是不是死了 冉冉东升可以组什么句子 求我姓冉的专属句子 弹弹堂高手之路全部过完给多少强化石 百度弹弹堂2里面的《高手之路高级高抛打法(高级)》《高手之路高级高差训 ... 弹弹堂工厂3怎么打 弹弹堂高手之路的任务怎么触发的 腹肌练习计划 网游之修罗传说好看吗大神们帮帮忙 网游之修罗传说好看吗,讲什么的 忘记码怎么找回 和密码都忘了,怎么才能找回之前的微信? 忘记也没绑定手机号码也没有好友 怎么找回? 忘记了怎么办 对于留守儿童的家长的问卷有什么可以问呢? 加工承揽印花税如何计算 wifi是什么怎么用 要简单明了的解释和方法 WIFI,WLAN是什么意思,用来干什么的 wifi是干什么的?怎么用? 五年级下册走进他们的童年岁月调查问卷可以问什么 WiFi是干什么用的 一个手机号登录了两个,如何找到老?密码忘了 wifi是什么意思,干什么用,怎么用 WIFI是做什么用的 wifi是什么?用来干什么的? 和密码都忘了,怎么才能找回之前的微信? 忘记怎么找回微信 微信账号和密码都忘记了,只知道怎么找回。 男的老是软怎么回事 有没有人告诉我是《网游之修罗传说》好看还是《网游之天谴修罗》好看呢? 亦或者是给我推荐一些好看小说 你们说 网游之修罗传说与斗破苍穹谁更好呢? 网游之修罗传说好看还是网游之天谴修罗好看 求你觉得好看的网游小说,比如《网游之修罗传说》谢谢谢谢谢谢谢 最好看的网游小说? 男人为何疲软 谁看过网游之修罗传说? 好看的网游 小说 最好是完结的 字数多点的 和《 网游之修罗传说》 差不多的 重生的最好 求玄幻好看小说,看过类似《网游之修罗传说》的大侠进 网游小说 网游之修罗传说 一样的 完本的 那些的就别说了 有什么好看的小说吗 要全集 要精品 如 斗破苍穹、异世邪君、网游之修罗传说 好看的玄幻网游异界重生类小说不要很着名但要好看的!比如网游之修罗传说 好看的玄幻,网游,异界重生类小说!不要很有名,但要好看的啊!比如《网游之修罗传说》…… 好看的如网游之修罗传说,天辰,仙逆之类的网游小说或修仙类小说 求《爱的教育》读后感400字,初中作文 来几本好看的网游小说,从零开始一类的不要来。最好是网游之修罗传说一类的,谢谢。多多益善!!! 我需要选择一个企业调研其会计工作的主要内容,写一篇600字左右的调查报告 动漫都主要在日本的哪几个电视台播出? 去日本看动漫去哪里看