Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
SVG
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Features == [[File:Bitmap VS SVG.svg|thumb|This image illustrates the difference between bitmap and vector images. The bitmap image is composed of a fixed set of pixels, while the vector image is composed of a fixed set of shapes. In the picture, [[image scaling|scaling]] the bitmap reveals the pixels while scaling the vector image preserves the shapes.]] SVG supports interactivity, animation, and rich graphical capabilities, making it suitable for both web and print applications. SVG images can be compressed with the [[gzip]] algorithm, resulting in SVGZ files that are typically 20β50% smaller than the original. SVG also supports metadata, enabling better indexing, searching, and retrieval of SVG content. SVG allows three types of graphic objects: vector graphic shapes (such as paths consisting of straight lines and curves), [[bitmap]] images, and text. Graphical objects can be grouped, styled, transformed and composited into previously [[rendering (computer graphics)|rendered]] objects. The feature set includes nested [[transformation (geometry)|transformations]], [[clipping path]]s, [[alpha compositing|alpha masks]], [[SVG filter effect|filter effects]] and template objects. SVG drawings can be [[Interactivity|interactive]] and can include [[animation]], defined in the SVG XML elements or via [[Scripting language|scripting]] that accesses the SVG [[Document Object Model]] (DOM). SVG uses [[CSS]] for styling and [[JavaScript]] for scripting. Text, including [[internationalization and localization]], appearing in plain text within the SVG DOM, enhances the [[Accessibility#Web accessibility|accessibility]] of SVG graphics.<ref name="SVG1.1-2E"/> === Printing === Though the SVG Specification primarily focuses on [[vector graphics markup language]], its design includes the basic capabilities of a [[page description language]] like Adobe's [[PDF]]. It contains provisions for rich graphics, and is compatible with [[Cascading Style Sheets|CSS]] for styling purposes. SVG has the information needed to place each glyph and image in a chosen location on a printed page.<ref>{{cite web |url=http://www.svgopen.org/2002/papers/danilo_fujisawa__svg_as_page_description_language/index.html |title=SVG as a Page Description Language |last1=Alex |first1=Danilo |first2=Jun |last2=Fujisawa |year=2002 |publisher=svgopen.org |access-date=24 February 2010 |archive-date=29 May 2010 |archive-url=https://web.archive.org/web/20100529185137/http://www.svgopen.org/2002/papers/danilo_fujisawa__svg_as_page_description_language/index.html |url-status=live }}</ref> === Scripting and animation === {{Main|SVG animation}} SVG drawings can be dynamic and interactive. Time-based modifications to the elements can be described in [[Synchronized Multimedia Integration Language|SMIL]], or can be programmed in a [[scripting language]] (e.g. [[JavaScript]]). The W3C explicitly recommends SMIL as the standard for animation in SVG.<ref>{{cite web |url=http://news.cnet.com/2100-1023-979976.html |title=W3C releases scripting standard, caveat |last=Paul |first=Festa |date=9 January 2003 |publisher=[[CNET Networks|CNet]] |access-date=24 February 2010 |archive-date=17 May 2011 |archive-url=https://web.archive.org/web/20110517151500/http://news.cnet.com/2100-1023-979976.html |url-status=live }}</ref> A rich set of [[event handler]]s such as "onmouseover" and "onclick" can be assigned to any SVG graphical object to apply actions and events. === 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; it does not support styling or scripting.<ref name="tiny1.x">{{cite web |title=SVG Tiny 1.2 |url=http://www.w3.org/TR/SVGTiny12/intro.html#SVGTiny12 |work=Scalable Vector Graphics (SVG) Tiny 1.2 Specification |publisher=[[World Wide Web Consortium|W3C]] |date=2008-12-22 |access-date=2014-03-05 |archive-date=30 January 2014 |archive-url=https://web.archive.org/web/20140130110734/http://www.w3.org/TR/SVGTiny12/intro.html#SVGTiny12 |url-status=live }}</ref> SVG Basic was defined for higher-level mobile devices, such as [[smartphone]]s. In 2003, the [[3GPP]], an international telecommunications standards group, adopted SVG Tiny as the mandatory vector graphics media format for next-generation phones. SVGT is the required vector graphics format and support of SVGB is optional for [[Multimedia Messaging Service]] (MMS) and Packet-switched Streaming Service.<ref>{{cite web |url=http://www.svgopen.org/2003/paperAbstracts/svgmms.htm |title=SVG in 3GPP Multimedia Messaging and Streaming Services (version March 2003) |publisher=SVG Open |year=2003 |access-date=19 October 2009 |archive-date=26 June 2009 |archive-url=https://web.archive.org/web/20090626135254/http://www.svgopen.org/2003/paperAbstracts/svgmms.htm |url-status=live }}</ref><ref>{{cite web |url=https://www.3gpp.org/ftp/Specs/archive/26_series/26.140/26140-520.zip |title=3GPP Multimedia Messaging Service (MMS); Media formats and codecs (Release 5); 3GPP TS 26.140 V5.2.0 (2002-12); Technical Specification |date=2 January 2003 |format=[[ZIP (file format)|zipped]] doc |publisher=[[3GPP]] |access-date=25 February 2010 |df=dmy-all |archive-date=8 February 2007 |archive-url=https://web.archive.org/web/20070208102602/http://www.3gpp.org/ftp/Specs/archive/26_series/26.140/26140-520.zip |url-status=live }}</ref><ref>{{cite web |url=https://www.3gpp.org/ftp/Specs/archive/26_series/26.234/26234-540.zip |title=3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; Multimedia Messaging Service (MMS); Media formats and codecs (Release 5) |work=3GPP TS 26.140 V5.2.0 (2002-12) |date=March 2003 |publisher=[[3GPP]] |format=[[ZIP (file format)|zipped]] doc |access-date=24 February 2010 |df=dmy-all |archive-date=12 February 2007 |archive-url=https://web.archive.org/web/20070212231732/http://www.3gpp.org/ftp/Specs/archive/26_series/26.234/26234-540.zip |url-status=live }}</ref> It was later{{When|date=October 2017}} added as required format for vector graphics in 3GPP [[IP Multimedia Subsystem]] (IMS).<ref>{{cite web |url=http://www.3gpp.org/ftp/Specs/html-info/26141.htm |title=3GPP Specification detail - 3GPP TS 26.141: IP Multimedia System (IMS) Messaging and Presence; Media formats and codecs |date=10 December 2009 |publisher=[[3GPP]] |access-date=24 February 2010 |archive-date=7 October 2008 |archive-url=https://web.archive.org/web/20081007213730/http://www.3gpp.org/ftp/Specs/html-info/26141.htm |url-status=live }}</ref> Neither mobile profile includes support for the full Document Object Model (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.<ref>{{cite web |url=http://svg.org/special/svg_phones |title=Listing of phones that support SVG |publisher=Svg.org |access-date=24 October 2010 |archive-url=http://webarchive.loc.gov/all/20100108141222/http://www.svg.org/special/svg_phones |archive-date=8 January 2010}}</ref> SVGT 1.2 adds a microDOM (ΞΌDOM), styling and scripting.<ref name="tiny1.x" /> SVGT 1.2 also includes some features not found in SVG 1.1, including non-scaling strokes, which are supported by some SVG 1.1 implementations, such as Opera, Firefox, and WebKit. As shared code bases between desktop and mobile browsers increased, the use of SVG 1.1 over SVGT 1.2 also increased. === Compression === SVG images, being XML, contain many repeated fragments of text, so they are well suited for [[Data compression#Lossless|lossless data compression]] algorithms. When an SVG image has been compressed with the [[gzip]] algorithm, it is referred to as an "SVGZ" image and uses the corresponding <code>.svgz</code> filename extension. Conforming SVG 1.1 viewers will display compressed images.<ref>See {{URL|http://www.w3.org/TR/SVG11/conform.html#ConformingSVGViewers}} which states, "SVG implementations must correctly support gzip-encoded [{{IETF RFC|1952}}] and deflate-encoded [{{IETF RFC|1951}}] data streams, for any content type (including SVG, script files, images)."</ref> An SVGZ file is typically 20 to 50 percent of the original size.<ref>{{cite web |date=14 July 2009 |title=Saving compressed SVG (SVGZ) |url=https://www.adobe.com/svg/illustrator/compressedsvg.html |archive-url=https://web.archive.org/web/20100601125817/https://www.adobe.com/svg/illustrator/compressedsvg.html |archive-date=1 June 2010 |access-date=24 February 2010 |work=SVG Zone |publisher=[[Adobe Systems]]}}</ref> W3C provides SVGZ files to test for conformance.<ref>For example, {{URL|http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObject/conform-viewers-01-t.html}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)