


What are Canvas and SVG in html5? What's the difference between them? (example)
This chapter will introduce to you what are Canvas and SVG in html5? What's the difference between them? It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
1. What is Canvas?
Canvas is a rectangular canvas with specified length and width. We will use the new HTML5 JavaScript to draw various graphics using the HTML5 JS API. However, canvas itself has no drawing capabilities (it's just a container for graphics) - you have to use a script to do the actual drawing.
Canvas example code: Create a canvas, and then draw a circle on the canvas
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>canvas画布</title> <style type="text/css"> .demo{ width: 500px; height: 150px; margin: auto; } </style> </head> <body> <div class="demo"> <!--添加canvas便签,创建画布--> <canvas id="myCanvas" width="200" height="100" style="border:1px solid #d3d3d3;"> 您的浏览器不支持 HTML5 canvas 标签。 </canvas> </div> </body> <script type="text/javascript"> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.beginPath(); ctx.arc(95,50,40,0,2*Math.PI); ctx.stroke(); </script> </html>
Rendering:
2. What is SVG?
SVG Scalable Vector Graphics (Scalable Vector Graphics) is a graphics format based on Extensible Markup Language (XML) for describing two-dimensional vector graphics. SVG is a new two-dimensional vector graphics format developed by W3C and is also the network vector graphics standard in the specification. SVG strictly follows XML syntax and uses a descriptive language in text format to describe image content. Therefore, it is a vector graphics format that is independent of image resolution.
We can briefly summarize SVG:
SVG refers to Scalable Vector Graphics(Scalable Vector Graphics)
SVG is used to define vector-based graphics for the web
SVG is defined using XML format Graphics
SVG images can be enlarged or resized without losing graphic quality
SVG is a standard of the World Wide Web Consortium
SVG is integrated with W3C standards such as DOM and XSL
SVG example code:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>SVG</title> <style type="text/css"> .demo{ width: 500px; height: 150px; margin: auto; } </style> </head> <body> <div class="demo"> <svg width="100%" height="100%" > <circle cx="300" cy="60" r="50" stroke="#ff0" stroke-width="3" fill="red" /> </svg> </div> </body> </html>
Rendering:
##3. The difference between Canvas and SVG
SVG
SVG is a language that uses XML to describe 2D graphics. SVG is based on XML, which means every element in the SVG DOM is available. You can attach a JavaScript event handler to an element.
In SVG, each drawn graphic is considered an object. If the properties of an SVG object change, the browser can automatically reproduce the graphic.
Does not depend on resolution
Support event handler
Best suited for applications with large rendering areas (such as Google Maps)
High complexity will slow down rendering (any application that overuses the DOM is not fast)
Not suitable for game applications
Canvas
Canvas draws 2D graphics through JavaScript. Canvas is rendered pixel by pixel.
In canvas, once the graphic is drawn, it will no longer receive the browser's attention. If its position changes, the entire scene needs to be redrawn, including any objects that may have been covered by graphics.
Depends on resolution
Event handler is not supported
Weak text rendering capabilities
Ability to save result images in .png or .jpg format
Best suited for graphics-intensive games where many objects will be redrawn frequently
The above is the detailed content of What are Canvas and SVG in html5? What's the difference between them? (example). For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Guide to Table Border in HTML. Here we discuss multiple ways for defining table-border with examples of the Table Border in HTML.

This is a guide to Nested Table in HTML. Here we discuss how to create a table within the table along with the respective examples.

Guide to HTML margin-left. Here we discuss a brief overview on HTML margin-left and its Examples along with its Code Implementation.

Guide to HTML Table Layout. Here we discuss the Values of HTML Table Layout along with the examples and outputs n detail.

Guide to HTML Input Placeholder. Here we discuss the Examples of HTML Input Placeholder along with the codes and outputs.

Guide to the HTML Ordered List. Here we also discuss introduction of HTML Ordered list and types along with their example respectively

Guide to Moving Text in HTML. Here we discuss an introduction, how marquee tag work with syntax and examples to implement.

Guide to HTML onclick Button. Here we discuss their introduction, working, examples and onclick Event in various events respectively.
