Home  >  Article  >  Web Front-end  >  Code for drawing SVG vector graphics using HTML5

Code for drawing SVG vector graphics using HTML5

不言
不言Original
2018-06-20 10:00:352705browse

This article mainly introduces the introductory tutorial for using HTML5 to draw SVG vector graphics, including the introduction of basic graphics drawing and simple gradient effects. Note that the old version of IE does not support it well. Friends who need it can refer to it. Below

VG stands for Scalable Vector Graphics, which is a language used to describe 2D graphics. Graphics applications are written using XML, and then the XML is rendered by an SVG reader program.

SVG is mainly used for vector type charts, such as pie charts, two-dimensional charts in X, Y coordinate systems, etc.

SVG became a W3C recommendation on January 14, 2003. You can view the latest version of the SVG specification on the SVG Specification page.

View SVG files
Most web browsers can display SVG, just like they can display PNG, GIF, and JPG graphics. IE users may need to install Adobe SVG Reader to be able to view SVG in the browser.

Embed SVG in HTML5
HTML5 allows us to embed SVG directly using the __486d7a50595533609bc98d44595dc670...de28f444098d408d960da4dccff3a948 tag. The following is a simple syntax:

<svg xmlns="http://www.w3.org/2000/svg">
...       
</svg>

HTML5 - SVG Circle

Here is an HTML5 version of an SVG example, using the 30de22e41cb8eb8fbfdc1f091d85e4be tag to draw a circle:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Circle</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg">
    <circle id="redcircle" cx="50" cy="50" r="50" fill="red" />
</svg>
</body>
</html>

Will work in the latest version of FireFox with HTML5 enabled Produces the following result:

2016219112130340.jpg (223×186)


##HTML5 - SVG Rectangle
Here is an HTML5 version of an SVG example, using the 4f5c91326734be5b874f0369b6cec59d tag Drawing a rectangle:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Rectangle</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg">
    <rect id="redrect" width="300" height="100" fill="red" />
</svg>
</body>
</html>

In the latest version of FireFox with HTML5 enabled, this results:

2016219112200272.jpg (316×152)

##HTML5 - SVG Line
The following is an HTML5 version of an SVG example, using the 15a73cc5312745b1b00671f6e690e36a tag to draw a line:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Line</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg">
    <line x1="0" y1="0" x2="200" y2="100"
          style="stroke:red;stroke-width:2"/>
</svg>
</body>
</html>
You can use the style attribute to set additional style information for it, such as stroke, fill color, Stroke width, etc.

In the latest version of FireFox with HTML5 enabled, the following results will be generated:


2016219112220725.jpg (217×159)

HTML5 - SVG Ellipse
The following is a HTML5 version of the SVG example, using the d9b42b40d0fdc429c7c48871eea4816c tag to draw an ellipse:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Ellipse</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg">
    <ellipse cx="100" cy="50" rx="100" ry="50" fill="red" />
</svg>
</body>
</html>
In the latest version of FireFox with HTML5 enabled, this results:

2016219112240763.jpg (225×148)

##HTML5 - SVG Polygon


Here is an HTML5 version of an SVG example, using the 6f1cb7f8499a7e0f625f982868cbc44d tag to draw a polygon:

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Polygon</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg">
    <polygon  points="20,10 300,20, 170,50" fill="red" />
</svg>
</body>
</html>

In the latest version of FireFox with HTML5 enabled will produce the following results:

2016219112258796.jpg (310×118)

HTML5 - SVG Polyline


Here is an HTML5 version of the SVG example, using

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Polyline</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg">
 <polyline points="0,0 0,20 20,20 20,40 40,40 40,60" fill="red" />
</svg>
</body>
</html>

In the latest version of FireFox with HTML5 enabled, the following results will be generated:

2016219112318049.jpg (245×114)

HTML5 - SVG Gradient


The following is an HTML5 version of an SVG example using the d9b42b40d0fdc429c7c48871eea4816c tag to draw an ellipse and the 0649cc1cc16c8306177acf255def2211 tag to define an SVG radial gradient.
We can create SVG linear gradients in a similar way using the bffa9ad35fc32d811cd3bf50cdea268e tag.

<!DOCTYPE html>
<head>
<title>SVG</title>
<meta charset="utf-8" />
</head>
<body>
<h2>HTML5 SVG Gradient Ellipse</h2>
<svg id="svgelem" height="200" xmlns="http://www.w3.org/2000/svg">
   <defs>
      <radialGradient id="gradient" cx="50%" cy="50%" r="50%"
      fx="50%" fy="50%">
      <stop offset="0%" style="stop-color:rgb(200,200,200);   
      stop-opacity:0"/>
      <stop offset="100%" style="stop-color:rgb(0,0,255);   
      stop-opacity:1"/>
      </radialGradient>
   </defs>
   <ellipse cx="100" cy="50" rx="100" ry="50"
      style="fill:url(#gradient)" />
</svg>
</body>
</html>

The following results will be generated in the latest version of FireFox with HTML5 enabled:

The above is the entire content of this article, I hope it will be helpful to everyone's learning , please pay attention to the PHP Chinese website for more related content! 2016219112338977.jpg (319×157)

Related recommendations:

How to use HTML5 File interface is used to download files on the web page


html5How to achieve the animation effect of picture rotation


Canvas of HTML5 Implement the method of drawing curve


The above is the detailed content of Code for drawing SVG vector graphics using HTML5. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn