首页 > 其他分享 >canvas和svg区别

canvas和svg区别

时间:2023-04-17 21:34:57浏览次数:32  
标签:canvas 渲染 svg 区别 Canvas 2D SVG 图形

Canvas
描述:
通过Javascript来绘制2D图形。
是逐像素进行渲染的。
其位置发生改变,会重新进行绘制。

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

比较
Canvas:

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

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

区别:
SVG与canvas的区别

(1)SVG是用来描述XML中2D图形的语言,canvas借助JavaScript动态描绘2D图形

(2)SVG可支持事件处理程序而canvas不支持

(3)SVG中属性改变时,浏览器可以重新呈现它,适用于矢量图,而canvas不可以,更适合视频游戏等。

(4)canvas可以很好的绘制像素,用于保存结果为png或者gif,可做为API容器。

(5)canvas取决于分辨率。SVG与分辨率无关。

(6)SVG具有更好的文本渲染,而Canvas不能很好的渲染,渲染中的SVG可能比Canvas慢,特别是应用了大量的DOM。

(7)画布更适合渲染较小的区域。SVG渲染更好的更大区域。
————————————————
版权声明:本文为CSDN博主「一起荡起双桨」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43595755/article/details/122481836

标签:canvas,渲染,svg,区别,Canvas,2D,SVG,图形
From: https://www.cnblogs.com/ZS123blogs/p/17327582.html

相关文章

  • rpc rmi区别
    1.RMI和RPC之间最主要的区别在于方法是如何别调用的。在RMI中,远程接口使每个远程方法都具有方法签名。如果一个方法在服务器上执行,但是没有相匹配的签名被添加到这个远程接口上,那么这个新方法就不能被RMI客户方所调用。在RPC中,当一个请求到达RPC服务器时,这个请求就包含了一个参......
  • firewalld 和 iptables 区别
    在RHEL7里有几种防火墙共存:firewalld、iptables、ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。firewalld跟iptables比起来至少有两大好处:1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以......
  • html2canvas插件使用小结
    简介html2canvas能够实现在用户浏览器端直接对整个或部分页面进行截屏。这个html2canvas脚本将当页面渲染成一个canvas图片,通过读取DOM并将不同的样式应用到这些元素上实现。它不需要来自服务器任何渲染,整张图片都是在客户端浏览器创建。当浏览器不支持Canvas时,将采用Flashcanv......
  • Jedis与RedisTemplate的区别
    Jedis与RedisTemplate的区别:Jedis是Redis官方推荐的、面向Java的操作Redis的客户端,可以用JedisPool来获得连接进行get、set、del等操作相对简单,而RedisTemplate是SpringDataRedis中对JedisApi的高度封装。SpringDataRedis相对于Jedis来说,可以方便地更换Redis的Java客户端,还......
  • GCP-Bigquery- IFNULL() 和 NULLIF() 的区别和例子
    NULLIF(expr,expr_to_match)BigQueryNULLIF()DescriptionNULLisreturnedifexpr=expr_to_matchistrue,otherwise,exprisreturned.exprandexpr_to_matchmustbeimplicitlycoercibletoacommonsupertypeandcomparable.如果2个结果相同,返回null值,否则返......
  • Mapboxgl Chrome75版本下发现问题:中文标签无法加载,由Canvas的measureText()方法导致
    很刁钻的问题,排查了好久。我自己开发测试用的浏览器(版本为112)运行正常,在老版本(75)谷歌浏览器报错如下:mapbox-gl.js:32UncaughtTypeError:Failedtoexecute'getImageData'on'CanvasRenderingContext2D':Valueisnotoftype'long'.atMp.TinySDF.draw(mapbox-gl.j......
  • CSS引入方式及link和@import的区别
    1.概述1.1说明在项目开发中,我们经常使用css样式使页面丰富多彩,编写过程中,CSS有四种引入方式。 2.CSS引入方式2.1 引入方式一:内联样式内联样式(行内样式):直接在HTML标签中的style属性中添加CSS<divstyle="width:200px;height:200px;background:red;"></div>内联......
  • network 路由器和交换机的区别
    目录network路由器和交换机的区别如果在公司内部搭建一个网络,应该使用路由器还是交换机?network路由器和交换机的区别路由器和交换机是网络中两个不同的设备,它们的功能和作用有所不同,主要区别如下:工作层次不同:交换机主要工作在OSI模型的第二层,即数据链路层,它通过MAC地址来转......
  • 关于增值业务和电信运营区别的对话
    文佳-买卖网站频道说:好青润说:好。文佳-买卖网站频道说:忙吗》?青润说:呵呵,今天还行。明天回老家一趟,下周一就到北京了。文佳-买卖网站频道说: 你现在是那家公司啊?青润说:没有公司。呵呵文佳-买卖网站频道说:?自己当老板了//还是政......
  • sha256 和hamc-sha256区别
    签名哈希函数SHA-256:SHA-256是全称为SecureHashAlgorithm256(安全散列算法256)的缩写。SHA-256可以将任意长度的数据计算成一个长度为256位的哈希值,在数字签名中得到广泛应用。SHA-512:SHA-512是SHA-256的加强版,可以生成更长、更不易被碰撞的消息摘要。在一些对于安全......