比较流行的HTMl绘图技术是Canvas和SVG,但是它们在根本上是不同的。
SVG
SVG 是一种使用 XML 描述 2D 图形的语言。
SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。
在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。
Canvas
Canvas 通过 JavaScript 来绘制 2D 图形。
Canvas 是逐像素进行渲染的。
在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。
Canvas 与 SVG 的比较
Canvas
- 依赖分辨率
- 不支持事件处理器
- 弱的文本渲染能力
- 能够以 .png 或 .jpg 格式保存结果图像
- 最适合图像密集型的游戏,其中的许多对象会被频繁重绘
SVG
- 不依赖分辨率
- 支持事件处理器
- 最适合带有大型渲染区域的应用程序(比如谷歌地图)
- 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)
- 不适合游戏应用
下面是我收集到的关于canvas和SVG好用的教程:
http://javascript.ruanyifeng.com/htmlapi/svg.html
http://javascript.ruanyifeng.com/htmlapi/canvas.html
https://developer.mozilla.org/zh-CN/docs/Web/Tutorials
分享到:
相关推荐
HTML5 Canvas是一个强大的Web图形...总之,“html5 Canvas绘制2D背景2”这个主题涵盖了Canvas基础、绘图技巧、动画以及图像处理等多个方面,通过学习和实践,开发者能够熟练地利用Canvas创建出丰富多彩的2D背景效果。
在这个“HTML 5 Canvas绘制2D背景1”的主题中,我们将深入探讨如何使用Canvas API来创建吸引人的背景图案。 首先,让我们了解一下HTML5 Canvas的基本结构。Canvas是一个HTML元素,通过JavaScript来控制其内容。在...
"html5 Canvas绘制2D背景 7款"这个主题意味着我们将探讨七种不同的方法或者样式,利用Canvas API来创建吸引人的背景效果。Canvas API提供了丰富的绘图命令,使得开发者可以实现各种复杂的视觉效果。 首先,我们要...
这个“HTML5 Canvas绘制灰太狼图像效果”是一个利用Canvas API实现的实例,展示了如何通过编程方式创建生动的图像。下面我们将深入探讨HTML5 Canvas的基本概念、绘图方法以及如何实现灰太狼图像的绘制。 1. HTML5 ...
在IT行业中,2D机柜绘制是一项至关重要的任务,特别是在数据中心设计、网络设备布置和电气工程规划等领域。本文将深入探讨2D机柜绘制的相关知识点,帮助读者理解其原理、工具和最佳实践。 首先,2D机柜绘制是指通过...
HTML5是一种强大的网页开发语言,尤其在图形绘制方面,它提供了Canvas API,使得开发者可以直接在浏览器上绘制丰富的2D图形。在这个"HTML5绘制体温单图例"的项目中,前端开发者利用JavaScript(js)来根据数据配置...
在这个"HTML5 Canvas绘制灰太狼图像效果.zip"压缩包中,包含了一个实例,演示如何利用Canvas API来绘制灰太狼这个卡通角色的图像,非常适合初学者学习和爱好者探索。 首先,我们要了解Canvas的基本用法。HTML5中的`...
总的来说,“html5绘制坦克”项目涉及HTML5的Canvas API,JavaScript编程,键盘事件监听,以及基本的2D图形绘制和动画原理。通过这个项目,你可以深入学习Web前端开发中的图形处理技术,同时提升对交互式应用的理解...
综上所述,“基于html5的2D平台跳跃游戏”是一个全面展示HTML5技术的游戏项目,涵盖了从图形绘制到音频处理,再到游戏逻辑和用户体验的多个方面。通过分析和学习这个项目,开发者可以深入了解HTML5在游戏开发中的...
Cocos2d-html5是一个基于HTML5的开源游戏开发框架,它允许开发者使用JavaScript来创建2D游戏和其他交互式应用。这个压缩包包含了Cocos2d-html5的API文档,对于那些想要深入理解和使用该框架的开发者来说是极其宝贵的...
它引入了Canvas元素,使得开发者可以直接在浏览器上绘制动态、交互式的2D图形,包括地图。在本项目中,“html5绘制地图”可能指的是利用HTML5的Canvas API来构建自定义的地图应用。 Canvas API提供了诸如fillRect()...
HTML5 Canvas 2D竖版飞行射击游戏实例是利用HTML5的新特性——Canvas元素和JavaScript进行游戏开发的一个经典案例。Canvas作为一个强大的图形绘制接口,允许开发者通过编程方式动态地在网页上绘制图形,从而实现丰富...
HTML5的Canvas是一个强大的绘图元素,它提供了丰富的图形绘制功能,包括直线、曲线、矩形、圆形等基本形状的绘制,以及图像的加载、裁剪、旋转、缩放等操作。对于图像边缘羽化,Canvas提供了`context.shadowBlur`、`...
Live 2D是一种二维动画技术,它通过将静止的2D图像转化为可交互的动态模型,为玩家带来更加生动的游戏体验。HTML5中的Canvas元素是实现Live 2D的关键,它可以动态绘制图形,支持帧动画和复杂的绘图操作。此外,WebGL...
HTML5 Canvas是一个强大的Web图形库,它允许开发者在网页上直接用JavaScript绘制图像,从而创建出丰富的交互式2D和3D图形。这个压缩包"HTML5 Canvas绘制的云雾中电流交织2D动画特效源码.zip"显然是一个示例项目,...
Canvas提供了一套JavaScript API,允许开发者用代码绘制各种复杂的2D图像。在这个案例中,“HTML5基于Canvas模拟三角函数sin图像生成特效源码”利用了Canvas API来实时绘制三角函数sin的图像。 首先,我们需要理解...
首先,HTML5中的`<canvas>`元素是实现动态图像绘制的关键。`<canvas>`提供了一个基于JavaScript的绘图API,允许开发者在网页上进行像素级别的操作。通过JavaScript的`CanvasRenderingContext2D`对象,我们可以绘制...
《Cocos2d-Js开发之旅-从HTML5到原生手机游戏》是一本深入探讨Cocos2d-Js框架的书籍,旨在帮助开发者从HTML5游戏开发过渡到原生移动平台的游戏制作。Cocos2d-Js是Cocos2d-x家族的一员,是一个跨平台的、基于...