首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HTML5(十)——CanvasSVG 区别

作为一名前端攻城狮,CanvasSVG 对于我们并不陌生,canvas 是 HTML5 提供的新元素,而 svg 存在的时间要比 canvas 长很多,svg 并不属于 html,最初的 svg...一、基本介绍 Canvas 通过 js 来绘制 2D图形。 canvas 图像单位是像素。 canvas 图像绘制完毕之后,浏览器将不再关注它,如果位置发生变换,就需要重新绘制。...SVG svg 使用 XML 描述的2D图像。 svg 是基于 xml 的,所以 svg 中绘制图形还是使用的元素,js 给元素任意添加事件。...svg 绘制的图像是一个对象,如果对象的属性发生改变,浏览器将重新绘制图形。 二、SVGCanvas比较 svg 是一种矢量图,而 canvas 依赖于分辨率。...所以 svg 放大不会失真,但是 canvas 绘制的图形会失真。 svg 支持事件处理器,而 canvas 不支持事件处理器。

3K30
您找到你想要的搜索结果了吗?
是的
没有找到

HTML5(十)——CanvasSVG 区别

作为一名前端攻城狮,CanvasSVG 对于我们并不陌生,canvas 是 HTML5 提供的新元素,而 svg 存在的时间要比 canvas 长很多,svg 并不属于 html,最初的 svg...一、基本介绍 Canvas 通过 js 来绘制 2D图形。 canvas 图像单位是像素。 canvas 图像绘制完毕之后,浏览器将不再关注它,如果位置发生变换,就需要重新绘制。...SVG svg 使用 XML 描述的2D图像。 svg 是基于 xml 的,所以 svg 中绘制图形还是使用的元素,js 给元素任意添加事件。...svg 绘制的图像是一个对象,如果对象的属性发生改变,浏览器将重新绘制图形。 二、SVGCanvas比较 svg 是一种矢量图,而 canvas 依赖于分辨率。...所以 svg 放大不会失真,但是 canvas 绘制的图形会失真。 svg 支持事件处理器,而 canvas 不支持事件处理器。

1.5K50

HTML5(十)——CanvasSVG 区别

作为一名前端攻城狮,CanvasSVG 对于我们并不陌生,canvas 是 HTML5 提供的新元素,而 svg 存在的时间要比 canvas 长很多,svg 并不属于 html,最初的 svg...一、基本介绍 Canvas 通过 js 来绘制 2D图形。 canvas 图像单位是像素。 canvas 图像绘制完毕之后,浏览器将不再关注它,如果位置发生变换,就需要重新绘制。...SVG svg 使用 XML 描述的2D图像。 svg 是基于 xml 的,所以 svg 中绘制图形还是使用的元素,js 给元素任意添加事件。...svg 绘制的图像是一个对象,如果对象的属性发生改变,浏览器将重新绘制图形。 二、SVGCanvas比较 svg 是一种矢量图,而 canvas 依赖于分辨率。...所以 svg 放大不会失真,但是 canvas 绘制的图形会失真。 svg 支持事件处理器,而 canvas 不支持事件处理器。

1.5K20

绘制SVG内容到Canvas的HTML5应用

SVGCanvas是HTML5上绘制图形应用的两种完全不同模式的技术,两种绘制图形方式各有优缺点,但两者并非水火不容,尤其是SVG内容可直接绘制在Canvas上的功能,使得两者可以完美的融合在一起,让...Canvas可享用到现有丰富的SVG素材,并不失SVG矢量无级缩放的特点。...以下一段小例子,展示了加载一个SVG图片后,分为七个基本进行缩放绘制的效果,可看出Canvas绘制SVG可保持其矢量不失真的特性 function draw(){ var img = new Image...提到CanvasSVG的融合,我们将采用HT for Web的矢量功能展示一个手机电池充电进度的实例,整个手机电池的静态部分我们通过加载一个简单的SVG素材实现,而充电动态变化的部分,我们采用一个渐进色的...绘制到Canvas还有一种特殊的应用场景,就是将HTML元素通过SVG的foreignObject特性描述在SVG中,然后Canvas绘制SVG时,即可把foreignObject描述的HTML内容绘制到

4.8K80

绘制SVG内容到Canvas的HTML5应用

SVGCanvas是HTML5上绘制图形应用的两种完全不同模式的技术,两种绘制图形方式各有优缺点,但两者并非水火不容,尤其是SVG内容可直接绘制在Canvas上的功能,使得两者可以完美的融合在一起,让...Canvas可享用到现有丰富的SVG素材,并不失SVG矢量无级缩放的特点。...以下一段小例子,展示了加载一个SVG图片后,分为七个基本进行缩放绘制的效果,可看出Canvas绘制SVG可保持其矢量不失真的特性 function draw(){     var img = new Image...提到CanvasSVG的融合,我们将采用HT for Web的矢量功能展示一个手机电池充电进度的实例,整个手机电池的静态部分我们通过加载一个简单的SVG素材实现,而充电动态变化的部分,我们采用一个渐进色的...绘制到Canvas还有一种特殊的应用场景,就是将HTML元素通过SVG的foreignObject特性描述在SVG中,然后Canvas绘制SVG时,即可把foreignObject描述的HTML内容绘制到

1.8K30

HTML动画分类 HTML5动画 SVGSVG工具 Canvas动画工具

1、js配合传统css属性控制,可以使用setTimeout或者高级的requestAnimationFrame 2、css3 3、svg 4、canvas(当然,这个还是要配合js) 也许这么分类是不对的...,因为无论如何都需要脚本控制,那么也许应该分为 1、js+传统css 2、css3 3、js+svg 4、js+canvas 但由于requestAnimationFrame比较特殊,所以还是单独出来说吧...4、canvas 依赖js(参考1),修改canvas的效果,简单的效果可以直接利用canvas.getContext("2d")画出来;复杂的效果,可以配合Image实现。...可以发现,CSS3和canvas是清一色都被支持到了,而SVG在Android低版本(2.X)浏览器是不支持的。...6、总结 如果做游戏,肯定是清一色canvas+开源的框架,但是普通的简单网页效果,例如图表,就应该根据实际的情况灵活运用各种方式了。而SVG相对而言,可能是较方便实现图表的方式。

3.7K10

浅谈两种前端截图方式:Canvas截图 vs SVG截图

Canvas截图:html2canvas SVG截图:rasterizehtml 原理 首先来谈下两种前端截图方式的原理,虽然实现方式不太一致,但是核心思想是相同的。...以rasterizehtml为代表的SVG截图,通过遍历DOM克隆一份副本,利用SVG的foreignObject把DOM作为外部资源嵌套在SVG中,将此SVGCanvas上重新绘制,并根据DOM的样式应用在对应的绘制元素上...转换过程可理解成:DOM→SVG的ForeignObject→Canvas→Image。 两种前端截图方式最后都是通过把DOM绘制到Canvas,再通过Canvas输出图片。...Canvas截图的限制性 无法渲染跨域资源(支持同域) 无法渲染iFrame和Flash内容(支持SVG) SVG截图的限制性 无法渲染跨域资源(支持同域) 无法渲染如lazyload等通过JS加载的资源...无法渲染内联background-image或JS操作background-image 方案 不多废话,直接上两种前端截图方式的代码,小伙伴们可根据项目需求自行优化代码和增加功能哈。

11.8K50

三种图表技术SVGCanvas、WebGL 3D比较

SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。 2.什么是canvas? 描述: 通过Javascript来绘制2D图形。...说白了就是基于Canvas的3D框架 主要用来做 3D 展示、动画、游戏。 因为前两项都是描述2D图形的,而WebGL是描述3d的,所以以下针对SVGCanvas做比较。...3.有了Canvas为什么还要使用SVG 最重要的一点是SVG不依赖于终端设备的像素,可以随意放大缩小但是不会失真 继续:为什么SVG放大不会失真而Canvas却会变模糊呢?...另外Canvas渲染出来的图叫位图,SVG渲染出来的图叫矢量图 ?...5.总结 CanvasSVG两者的适用场景不同,开发者在使用是应根据具体的项目需求来选择相应的渲染方式。 最后附上一个SVG编译器帮大家更好的理解和使用SVG <!

3.2K30
领券