HTML <svg>元素是SVG图形的容器。SVG代表可缩放矢量图形。SVG对定义框,圆,文本等图形很有用。SVG代表可伸缩矢量图形,是一种用于描述2D图形和XML中的图形应用程序的语言,然后由SVG查看器呈现XML。大多数网络浏览器都可以显示SVG,就像显示PNG,GIF和JPG一样。
HTML <canvas>元素用于通过JavaScript绘制图形。<canvas>元素是图形的容器。
SVG | HTML画布 |
---|---|
SVG具有更好的可伸缩性。因此可以在任何分辨率下高质量打印 | 画布的可伸缩性较差。因此,它不适合高分辨率打印 |
SVG使用更少的对象或更大的表面可以提供更好的性能。 | 画布可以在较小的表面或较大数量的对象的情况下提供更好的性能。 |
可以通过脚本和CSS修改SVG | 只能通过脚本修改画布 |
SVG基于矢量,由形状组成。 | 画布基于栅格,由像素组成。 |
您可以尝试运行以下代码以将可缩放矢量图形(SVG)添加到网页-
<!DOCTYPE html> <html> <head> <style> #svgelem { position: relative; left: 50%; -webkit-transform: translateX(-20%); -ms-transform: translateX(-20%); transform: translateX(-20%); } </style> <title>HTML5 SVG</title> </head> <body> <h2 align = "center">HTML5 SVG Circle</h2> <svg id = "svgelem" height = "200" xmlns = "http://www.w3.org/2000/svg"> <circle id = "bluecircle" cx = "60" cy="60" r = "50" fill = "blue" /> </svg> </body> </html>
您可以尝试运行以下代码,以了解如何使用HTML5 Canvas绘制矩形-
<!DOCTYPE html> <html> <head> <title>HTML5 Canvas Tag</title> </head> <body> <canvas id = "newCanvas" width = "200" height = "100" style = "border:1px solid #000000;"></canvas> <script> var c = document.getElementById('newCanvas'); var ctx = c.getContext('2d'); ctx.fillStyle = '#7cce2b'; ctx.fillRect(0,0,300,100); </script> </body> </html>