diff --git a/docs/tutorial/canvas.md b/docs/tutorial/canvas.md index 9f8fac3a6..6e7e4c87a 100644 --- a/docs/tutorial/canvas.md +++ b/docs/tutorial/canvas.md @@ -154,3 +154,9 @@ ctx.fillRect(10, 10, 150, 80); ``` + +[1]: ../assets/chrome.svg +[2]: ../assets/edge.svg +[3]: ../assets/firefox.svg +[4]: ../assets/safari.svg +[5]: ../assets/opera.svg diff --git a/docs/tutorial/svg.md b/docs/tutorial/svg.md index bae623cde..775a8698f 100644 --- a/docs/tutorial/svg.md +++ b/docs/tutorial/svg.md @@ -1,4 +1,112 @@ -svg.md +HTML SVG Graphics === -欢迎您编辑 docs/tutorial/svg.md 文件,共建 HTML Tutorial 文档。 +SVG 以 XML 格式定义基于矢量的图形。 + +## 什么是 SVG? + +* SVG 代表可缩放矢量图形 +* SVG 用于为 Web 定义图形 +* SVG 是 W3C 推荐的 + +## HTML \ 元素 + +HTML [``](../tags/svg.md) 元素是 SVG 图形的容器。 + +SVG 有多种绘制路径、框、圆、文本和图形图像的方法。 + +## 浏览器支持 + +表中的数字指定了第一个完全支持 [``](../tags/svg.md) 元素的浏览器版本。 + +| Element | ![chrome][1] | ![edge][2] | ![firefox][3] | ![safari][4] | ![opera][5] | +| ---- | ---- | ---- | ---- | ---- | ---- | +| \ | 4.0 | 9.0 | 3.0 | 3.2 | 10.1 | + +## SVG 圆 + +```html idoc:preview:iframe + + + + + + + + +``` + + +## SVG 矩形 + +```html idoc:preview:iframe + + + +``` + + +## SVG 圆角矩形 + +```html idoc:preview + + + +``` + + +## SVG 星 + +```html idoc:preview + + + +``` + + +## SVG Logo + +```html idoc:preview + + + + + + + + + SVG + Sorry, your browser does not support inline SVG. + +``` + + +## SVG 和 Canvas 的区别 + +SVG 是一种用 XML 描述 2D 图形的语言。 + +Canvas 动态绘制 2D 图形(使用 JavaScript)。 + +SVG 是基于 XML 的,这意味着每个元素都可以在 SVG DOM 中使用。 您可以为元素附加 JavaScript 事件处理程序。 + +在 SVG 中,每个绘制的形状都被记忆为一个对象。 如果 SVG 对象的属性发生变化,浏览器可以自动重新渲染形状。 + +画布是逐像素渲染的。 在画布中,一旦图形被绘制出来,浏览器就会忘记它。 如果要更改其位置,则需要重新绘制整个场景,包括可能已被图形覆盖的任何对象。 + +## Canvas 和 SVG 的比较 + +The table below shows some important differences between Canvas and SVG: + +| Canvas | SVG | +| ---- | ---- | +| * 取决于分辨率
* 不支持事件处理程序
* 文本渲染能力差
* 您可以将生成的图像保存为 .png 或 .jpg
* 非常适合图形密集型游戏 | * 独立于分辨率
* 支持事件处理程序
* 最适合具有大渲染区域的应用程序(谷歌地图)
* 如果复杂,渲染速度会很慢(任何使用 DOM 的东西都会很慢)
* 不适合游戏应用 | + + + +[1]: ../assets/chrome.svg +[2]: ../assets/edge.svg +[3]: ../assets/firefox.svg +[4]: ../assets/safari.svg +[5]: ../assets/opera.svg