Scalable Vector Graphics (SVG) is a W3C specification for describing two-dimensional vector graphics. image/svg+xml is the Internet media type. Except up to Internet Explorer version 8, no plugin is required to display Scalable Vector Graphics (SVG). Animations can be done by means of SVG SMIL. Manipulation of the SVG DOM is possible via scripting in XML language.
|Table of Contents|
Scalable Vector Graphics (SVG) and image/svg+xml : Basics
Since SVG is a XML-based file format, contents of SVG files are for computer assisted translation and other further procession. We can also directly use a text editor to edit. However, it is easier to edit with special softwares. The recommended file extension is
.svg or if the file is gzip compressed;
.svgz. The MIME type is image/svg+xml. In September 2001, W3C published Scalable Vector Graphics (SVG) 1.0 Specification as the first recommendation. This recommendation was supported by parts of the IT -Industry accepted as standard. Currently, the specification of version 1.2, at the time of publication of this article. Through the use of profiles and low-power devices is possible to work with standards-compliant SVG files.
SVGT = (Base profile = “tiny”) is for highly restricted mobile internet devices (MIDs) and mobile phones. It defines only a small subset of the SVG standard.
SVGB = (Base profile = “basic” ; “simple, basic”) is for something more powerful than MIDs, but does not define the entire SVG standard.
SVGF = (Base profile = “full”) is intended for computer as well as the output device which fully supports SVG.
Scalable Vector Graphics (SVG) and image/svg+xml as Document
SVG XML document is arranged in a tree structure with different elements and these elements has assigned attributes. Each SVG file begins, as common with XML-based language, with the XML declaration and the document type declaration, which used in the name space description. Given to the latter a reference to the corresponding DTD file is inserted. Here is an example :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Content -->
We need to save the file first then need to embed. The coordinate system has its origin in the upper left corner of the drawing area. It is an internal, non-dimensional coordinate system in which the X-axis is to the right and the y-axis points downwards. This coordinate system is defined by the attributes width and height dimensions for the output. All relative and absolute sizes within the graph are based on this internal coordinate system.
Scalable Vector Graphics (SVG) Versus Traditional JPEG, PNG Raster Images
In contrast to the integer pixel coordinates in raster graphics, (eg. as JPEG , PNG , BMP ) SVG coordinate floating points. Pixel data in raster graphics, however, have limit ion by resolution, they are limited in their range of values ‹‹to whole numbers as well as the dimensions of the image – according to the nature of the pixels. In grid-based output media – for example, a monitor – a SVG specification as (x = 100, y = 200) denotes not the whole screen, but the top-left corner (or one of the other corners of the corresponding neighbor pixels). Assuming in this example is that the scale of the SVG document is appropriately chosen. SVG supports three fundamentally different types of elements:
- Illustrations composed of graphical primitive elements
- Raster graphics
- Text in a particular font
Scalable Vector Graphics (SVG) and image/svg+xml : WordPress Plugins
Scalable Vector Graphics (SVG) and image/svg+xml : Animation and Programming
Analog DHTML SVG can be made ‹‹dynamically using DOM scripting. Here the Document Object Model of SVG (SVG-DOM) and can be manipulated, for example, new elements can be generated and inserted or changed in size and shape. SVG can be interactions as user input such as mouse clicks and movements or can be completely algorithmically generated. This can be used in web applications use like in diagrams in Google Docs or mapping application.
As a SVG file internally a DOM tree which this can be achieved by existing browser technologies, such as ECMAScript and CSS, thus an animated image can be generated. he developers of Webkit have a draft for CSS animations developed in the in the official CSS3 standard W3C.
Through XML multimedia standard Synchronized Multimedia Integration Language (SMIL) andy also the XML elements, animations can be expressed. States, which can be animated are transformation, position, visibility, color and size. Important for the understanding of animation, the terms ” actor “(the object to be animated) and” script “(the time span of the animation).
For the most, Animation Tag is a mandatory attribute which is required, it determines the type of animation. Other basic components are the time frame during states of animation (optional), the state after the animation, and whether the animation should be repeated after completion. Events are made ‹‹click dependent as mouse or touch.
Scalable Vector Graphics (SVG) and image/svg+xml : Programs
Programs that SVG files can be created and edited, include:
Adobe Illustrator ( proprietary , Windows, Mac OS)
CorelDRAW (proprietary; Windows)
Inkscape – graphics and image editing software (free software, Linux / Unix, Windows, Mac OS X, uses SVG as a native file format (with Inkscape extensions))
Apache OpenOffice – Native import and export restrictions with (free office suite)
Photo Line (proprietary, Windows, Mac OS)
sK1 – Graphics and prepress (free software, Linux / Unix)
Scribus (free software, Unix, Linux, Mac OS X, OS / 2, Windows)
Xara Designer Pro – graphics and image editing software (proprietary for Windows)
SVGConv – Online converter that allows SVG files to other formats (JPEG, PNG, GIF, BMP, PDF, PS, etc.) can be converted
Go2convert – on-line converters, can be converted into other formats with the SVG files
Microsoft Visio ( proprietary ; Windows)
Omnigraffle ( proprietary ; Mac OS)
Scalable Vector Graphics (SVG) and Base64
Base64 Encoding can be also used as inline with SVG :
<img src='data:image/svg+xml;utf8,<svg ... > ... </svg>'>