Scalable Vector Graphics Article Index for
Scalable
Website Links For
Vector Graphics
 

Information About

Scalable Vector Graphics





File Information

  Name Scalable Vector Graphics
  Extension <tt>svg</tt>, <tt>svgz</tt>
  Mime image/svg+xmlhttp://wwww3org/TR/SVGMobile12/mimereghtml
  Owner World Wide Web Consortium
  Genre Vector Image Format
  Extended From XML


Scalable Vector Graphics ('''SVG''') is an XML specification and File Format for describing two-dimensional Vector Graphics , both static and Animated . SVG can be purely declarative or may include scripting. Images can contain hyperlinks using outbound simple XLink s.1 It is an Open Standard created by the World Wide Web Consortium 's SVG Working Group .


OVERVIEW

SVG was developed during the period 1999-2000 by a group of companies within the W3C after the submitted competing standards PGML developed from Adobe Postscript and the VML format developed from Microsofts RTF which were both submitted to W3C in 1998 could not gain enough support. SVG was initially based on both those formats.


SVG allows three types of graphic objects:

Graphical objects can be grouped, styled, transformed and composited into previously Rendered objects. Text can be in any XML Namespace suitable to the application, which enhances searchability and Accessibility of the SVG graphics. The feature set includes nested Transformation s, Clipping Path s, Alpha Mask s, Filter Effect s, template objects and Extensibility .


Scripting and animation


See Also: SVG animation



SVG drawings can be dynamic and interactive. Time-based modifications to the elements can be described in s such as ''onmouseover'' and ''onclick'' can be assigned to any SVG graphical object.


Compression


SVG images, being XML, contain many repeated fragments of text and are thus particularly suited to Compression by Gzip , though other compression methods may be used effectively. Once an SVG image has been compressed by gzip it may be refered to as an "SVGZ" image, with the corresponding file extension, the resulting file may be as small as 50%http://www.adobe.com/svg/illustrator/compressedsvg.html of the original size.


DEVELOPMENT HISTORY


SVG was developed by the W3C SVG Working Group starting in 1998, after Macromedia and Microsoft introduced Vector Markup Language (VML) whereas Adobe Systems and Sun Microsystems submitted a competing format known as PGML . The Working Group was chaired by Chris Lilley of the W3C.

  • SVG 1.0 became a W3C Recommendation on September 4 , 2001 .http://www.w3.org/TR/SVG10/

  • SVG 1.1 became a W3C Recommendation on January 14 , 2003 .http://www.w3.org/TR/SVG11/ The SVG 1.1 specification is modularized in order to allow subsets to be defined as profiles. Apart from this, there is very little difference between SVG 1.1 and SVG 1.0.

  • --- SVG Tiny and SVG Basic (the Mobile SVG Profiles) became W3C Recommendations on January 14 , 2003 . These are described as profiles of SVG 1.1.

  • SVG Tiny 1.2 became a W3C Candidate Recommendation on August 10 , 2006 .http://www.w3.org/TR/2006/CR-SVGMobile12-20060810/http://lists.w3.org/Archives/Public/www-svg/2006Aug/0036.html SVG Full 1.2 is a W3C Working Draft. SVG Tiny 1.2 was initially released as a profile, and later refactored to be a complete specification, including all needed parts of SVG 1.1 and SVG 1.2. A similarly refactored draft for SVG 1.2 Full has not yet been released. A notable feature addition in the SVG Full 1.2 W3C Working Draft (absent from SVG Tiny 1.2) is syntax for multipage documents;http://www.w3.org/TR/2004/WD-SVG12-20041027/multipage.html the semantics of multiple pages with respect to non-hardcopy rendering are however undefined.



Mobile profiles

Because of industry demand, two mobile profiles were introduced with SVG 1.1: ''SVG Tiny'' (SVGT) and ''SVG Basic'' (SVGB). These are subsets of the full SVG standard, mainly intended for User Agent s with limited capabilities. In particular, SVG Tiny was defined for highly restricted mobile devices such as Cellphone s, and SVG Basic was defined for higher-level mobile devices, such as PDAs .

Neither mobile profile includes support for the full DOM, while only SVG Basic has optional support for scripting, but because they are fully compatible subsets of the full standard most SVG graphics can still be rendered by devices which only support the mobile profiles.A listing of phones that support SVG can be found at the svg.org community web site


EXAMPLE


SVG is an application of XML . An SVG file is therefore a simple Text File , which can be viewed and edited as with any other markup.



"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

width="467" height="462">
style="fill:#ff0000; stroke:#000000;stroke-width:2px;" />

style="fill:#0000ff; stroke:#000000; stroke-width:2px;
fill-opacity:0.7;" />



FILTER EFFECTS


A filter effect consists of a series of graphics operations that are applied to a given source vector graphic to produce a modified Bitmapped result.

Filter effects are defined by filter elements. To apply a filter effect to a graphics element or a container element the 'filter' property is set on a given element. Each 'filter' element contains a set of filter primitives as its children. Each filter primitive performs a single fundamental graphical operation (e.g., a Gaussian Blur or a lighting effect) on one or more inputs, producing a graphical result. Because most of the filter primitives represent some form of image processing, in most cases the output from a filter primitive is a single RGBA bitmap image (however, it will be regenerated if a higher resolution is called on).

The original source graphic or the result from a filter primitive can be used as input into one or more other filter primitives. A common application is to use the source graphic multiple times. For example, a simple filter could replace one graphic by two by adding a black copy of original source graphic offset to create a Drop Shadow . In effect, there are now two layers of graphics, both with the same original source graphics.


List of SVG filters


The following table lists the filter effects available in SVG 1.0 and SVG 1.1. SVG Tiny does not support filters, while SVG Basic only supports the filters indicated by ''SVGB''.


Framework for applying a filter



"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

width="4in" height="3in">





Text with a filter applied



SUPPORT FOR SVG IN WEB BROWSERS

The use of SVG on the web is in its infancy. There is a great deal of inertia due to the long-time use of pure raster formats and other formats like Adobe Flash or Java Applet s, but also browser support is still uneven. Web sites which serve SVG images typically also provide the images in a raster format, either automatically by HTTP Content Negotiation or allowing the user to directly choose the file.


Native support

There are several advantages to native support, among which are no need for the installation of a plugin, the ability to freely mix SVG with other formats in a single document, and rendering scripting between different document formats considerably more reliably. At this time all major browsers have committed to some level of SVG support except for Internet Explorer, yet the implementations are lacking in consistency and completeness. See Comparison Of Layout Engines for further details.

  • The Opera web browser (since 8.0) has support for the SVG 1.1 Tiny specification while Opera 9 includes SVG 1.1 Basic support and some of SVG 1.1 Full. Since 9.5 alpha 1 Opera has partial SVG Tiny 1.2 support.

  • Browsers based on the and will add support for more of the SVG specification (including some filters).http://weblogs.mozillazine.org/tor/archives/2006/12/gran_paradiso_alpha_1_and_svg.html

  • KDE 's Konqueror has a fairly complete SVG plugin called KSVG . KSVG2 is slated to be rolled into KDE 4 core which could make it native rendering for Konqueror some time in the future. KDE 4 will also feature system-wide support and use of SVG for graphics. Elsewhere in KDE the format is finding greater use, and from version 3.4 onwards SVG Wallpapers are supported.

  • Apple 's Safari browser ported KSVG2 into WebCore , initiating work on incorporating native support of SVG into Safari. Nightly Builds of Safari and the Safari 3.0 beta include SVG support. The Safari beta's SVG support still is not perfect, thoughhttp://www.w3.org/Icons/valid-xhtml11-blue-v.svg.

  • The Omni Group 's OmniWeb 5.5 browser, which is based on a later version of Apple's WebCore / WebKit than that used in the current public release of Safari, has partial support for SVG.

  • Amaya has partial SVG support.



Plugin support

In current versions of Internet Explorer a Plugin is needed to view SVG content.

The most widely available SVG plugin on the desktop is from platform. For Safari on Intel machines, Safari must run under Rosetta for the Adobe plugin to work.

Another plugin, called the Renesis Player exists for Internet Explorer and the interactivity capabilities. There are indications that a Firefox plugin may also be in the works [http://www.emiasys.net/index.php?option=com_content&task=view&id=6&Itemid=16 . The Renesis version 0.7 is available as of July 4, 2007.

A plugin was once offered from Corel .

The SVG Map Consortium released a plugin on September 6, 2007 that runs in Internet Explorer for Windows.http://www.g-contents.jp/2007/3prog.htm#003http://blog.svg-map.com/2007/09/svg_map_toolkit.html


SUPPORT IN APPLICATIONS


Images are usually automatically rasterised using a library such as ImageMagick , which provides a quick but incomplete implementation of SVG, or Batik , which implements nearly all of SVG 1.1 but requires the Java Runtime Environment .
  • Inkscape is a Free Software / Open Source SVG drawing program for Linux , Windows and Mac OS .

  • The Batik SVG Toolkit can be used by Java programs to render, generate, and manipulate SVG graphics.

  • The GNOME project has had integrated SVG support throughout the desktop since 2000 .

  • Images drawn in documents.

  • Adobe Illustrator supports both the import and export of SVG images.

  • CorelDRAW has an SVG export and import filter.

  • Sketsa is a cross-platform SVG drawing software.http://www.kiyut.com/products/sketsa/index.html

  • Xara Xtreme has an SVG export and import filter in its free/open source Linux version.

  • KoolMoves has very weak SVG support.

  • Microsoft Visio can save files in the SVG format as well as the SVG compressed format.

  • EVE (Embedded Vector Editor) can import and export vector and SVG graphics.

  • IVEO Viewer a self-voicing tactile-audio system with native SVG support.

  • The Flame Project is a Adobe Flash Like editor to create SVG animation (currently on Linux only).

  • Some viewers are listed in External Links below.



MOBILE SUPPORT

On mobile, the most popular implementations for mobile phones are by Ikivo and Bitflash , while for PDAs, Bitflash and Intesis have implementations. Flash Lite by Adobe optionally supports SVG Tiny since version 1.1. At the SVG Open 2005 conference, Sun demonstrated a mobile implementation of SVG Tiny 1.1 for the CLDC platform.
Mobile SVG players from Ikivo and BitFlash come pre-installed, i.e., the manufacturers burn the SVG player code in their mobiles before shipping to the customers. Mobiles also can include full web browsers (such as Opera Mini and the IPhone 's Safari) which include SVG support.

The level of SVG Tiny support available varies from mobile to mobile, depending on the manufacturer and version of the SVG engine installed. Many of the new mobiles support additional features beyond SVG Tiny 1.1, like gradient and opacity, this standart is often referred as SVGT 1.1+.

).

Most Sony Ericsson phones beginning with K700 (by release date) support SVG Tiny 1.1. Рhones beginning with K750 also support such features as opacity and gradients. Phones with Java Platform -8 have support for JSR 226.


SEE ALSO



EXTERNAL LINKS



REFERENCES