Courses/Design & Technique-Essential Web Design/Q2/01
From Publication Station
SVG
What is SVG?
SVG (Scalable Vector Graphics) is a vector image format.
Contrary to raster graphics or bit maps (an image represented by a rectangular grid of pixels) a vector image is a description of its geometric shapes, or drawing instructions, which the viewing
program will draw on the screen.
SVG Characteristics
- scalable - zooms wont pixelate or degrade the image quality
- text-based image format - like a webpage you can view and change the source code of an SVG image
- editable in vector drawing software (Inkscape, Adobe Illustrator)
- easily included within an HTML document
- syntax similar to HTML
SVG: image and text
This SVG image is the representation of the following SVG code:
You can use the inspector, a text-editor, or a vector drawing program to change the image.
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
version="1.1"
width="300"
height="200"
id="svg3910">
<g
transform="translate(0,-852.36218)"
id="layer1">
<rect
width="200"
height="140"
x="92.85714"
y="908.07648"
id="rect3017"
style="opacity:1;fill:#3964c8;stroke:none" />
<path
d="m 254.28571,269.50504 a 74.285713,71.428574 0 1 1 -148.57142,0 74.285713,71.428574 0 1 1 148.57142,0 z"
transform="translate(-95.714287,658.57142)"
id="path3015"
style="opacity:1;fill:#ff64c8;stroke:none" />
</g>
</svg>
SVG basic shapes
As you can see in the example an SVG is made up from basic shapes, that combined, transformed and grouped can form drawings.
The basic shapes are:
- line
<line x1="40" y1="20" x2="80" y2="20" style="stroke-width: 10; stroke: black;"/>
- rectangle
<rect x="50" y="10" width="20" height="40" style="fill: none; stroke: black;"/>
- circle
<circle cx="30" cy="30" r="20" style="stroke: black; fill: red;"/>
- ellipse
<ellipse cx="80" cy="80" rx="20" ry="10" style="stroke: black; fill: none;"/>
- polygon - series of points that describe a geometric area to be filled and outlined
<polygon points="15,10 55, 10 45, 20 5, 20" style="fill: red; stroke: black;"/>
SVG styled by CSS
SVG with custom fonts
This is just the basics. We'll want to manipulate the SVG drawings further, not just style them with CSS, but:
- add drawing elements,
- remove them,
- turn elements into links,
- transform the image based on user interaction
- create a new image every time a user visits the site,
- etc.
To create those actions with need a scripting language for the browser.
- (WHAT IS A SCRIPTING LANGUAGE?)