SVG(Scapable Vector Graphics,可縮放矢量圖像)是互聯(lián)網(wǎng)聯(lián)盟(W3C)的正式推薦標(biāo)準(zhǔn),它是一種使用XML來描述二維圖像的語言。SVG允許3種形式的圖像對(duì)象存在,分別是矢量圖形(如由直線、曲線等組成的路徑)、點(diǎn)陣圖像和文本。各種圖像對(duì)象能夠組合、變換,并且能修改其樣式,也能夠定義成預(yù)處理對(duì)象以便再用。SVG還支持各種特效,包括嵌套變換、路徑剪裁、透明度處理、濾鏡效果以及模板對(duì)象等。同時(shí),SVG可以是互動(dòng)和動(dòng)態(tài)的,動(dòng)畫可以直接加入SVG文本,也可以通過腳本加入。在新的SVG版本中,還可以表現(xiàn)視頻、音頻等其它信息。SVG通過使用腳本語言來完成比較復(fù)雜的應(yīng)用,腳本語言調(diào)用SVG對(duì)象模型(SVG Document Object Model)來訪問或控制所有的元素、屬性和屬性值。任何一種SVG圖像元素都能使用腳本來處理類似鼠標(biāo)單擊、雙擊以及鍵盤輸入等事件。由于SVG文本是XML名字空間中的有效字符,這些字符能作為SVG圖像的關(guān)鍵字而通過搜索引擎進(jìn)行查詢。
與現(xiàn)有的圖像格式(如JPEG、GIF和PNG等)和矢量圖形格式(如VML、PDF、SWF等)相比,SVG具有如下優(yōu)勢:
1) 基于XML標(biāo)準(zhǔn)
XML是W3C的推薦標(biāo)準(zhǔn),用于結(jié)構(gòu)化的信息交換,已經(jīng)得到廣泛的普及和應(yīng)用。SVG是建立在此基礎(chǔ)上的,有很明顯的優(yōu)勢,如:廣泛的國際化基礎(chǔ)、強(qiáng)大的結(jié)構(gòu)化能力、以及對(duì)象模型等。
2) 高質(zhì)量的圖像
由于基于矢量,使得SVG圖像的質(zhì)量得到大大的提高。放大、縮小以及各種特效都比位圖的表現(xiàn)要好,在打印的時(shí)候,完全可以印刷質(zhì)量輸出圖片。SVG圖像在客戶端動(dòng)態(tài)繪制,用戶可以隨意調(diào)整圖像的一些參數(shù)而不會(huì)導(dǎo)致圖像模糊。SVG圖像的大小只與圖形的復(fù)雜程度有關(guān),而與圖形的具體尺寸無關(guān)。
3) 更精確的顏色
SVG可靠的顏色特性將給下一代在線電子商務(wù)帶來許多新的面貌——系統(tǒng)可以根據(jù)瀏覽器窗口的配色方案下載與之相匹配的配色方案。SVG支持ICC色彩概貌的行業(yè)標(biāo)準(zhǔn),如sRGB。
4) 靈活易用的文件格式
SVG主要由3個(gè)部分組成:矢量圖形、位圖和文字。由于SVG文件是以文本的形式(XML)存放的,更改起來是非常方便的。也就是說,不用任何圖像處理工具,僅僅用記事本就可以生成一個(gè)SVG圖像。
5) 支持互動(dòng)和動(dòng)畫
SVG支持SMIL(synchronized multimedia integration language),允許用戶自由地同SVG中的元素完成一些互動(dòng),從而完成既定的目標(biāo),這一點(diǎn)在目前單獨(dú)依靠圖片是完成不了的,需要由網(wǎng)頁中的Script語句來實(shí)現(xiàn)。
6) 支持字符查找
由于SVG是文本格式,查找圖像中的字符在SVG中成為可能(在其它格式的圖像文件中是不可思議的)。
7) 支持Xlink 和Xpointer
可以在SVG文檔中加入超鏈接,這樣我們可以制作一個(gè)完全由SVG構(gòu)成的WEB站點(diǎn),這個(gè)站點(diǎn)可以包含圖片、動(dòng)畫、文本等多媒體信息,并擁有與用戶進(jìn)行互動(dòng)的能力。
8) SVG是一種真正開放式的、不依賴供應(yīng)商的2D矢量圖形格式
SVG由W3C開發(fā)和維護(hù),W3C曾定義了HTML和XML這樣的開放標(biāo)準(zhǔn)。而且,SVG不屬于任何人,也沒有專利權(quán)。這意味著,不存在許可費(fèi)用,供應(yīng)商可以無縫地創(chuàng)作和分享內(nèi)容。不同于Mac OS的PICT或Windows的WMF等其它矢量格式,SVG具有平臺(tái)獨(dú)立性。
9) SVG從開始設(shè)計(jì),就注定是一種強(qiáng)大的通用標(biāo)準(zhǔn)
制訂SVG的W3C工作組成員包括Macromedia、Adobe和AutoDesk,它們都有強(qiáng)烈的意愿,盡量把支持其格式的更多功能包括在SVG里面。這使得SVG適用于范圍很廣的各種應(yīng)用,包括CAD、GIS和娛樂。
Mobile SVG及其特點(diǎn)
由于SVG的大部分特性也非常適合于無線領(lǐng)域的圖形應(yīng)用,無線領(lǐng)域要求開發(fā)更適合于移動(dòng)設(shè)備上應(yīng)用的SVG形式,為了滿足業(yè)界的需求,互聯(lián)網(wǎng)聯(lián)盟(W3C)的SVG工作小組制訂了適合于移動(dòng)應(yīng)用領(lǐng)域的專用標(biāo)準(zhǔn)Mobile SVG。由于移動(dòng)設(shè)備在CPU速度、內(nèi)存大小、支持的顯示顏色等各個(gè)參數(shù)上有很大的不同,單一的專業(yè)標(biāo)準(zhǔn)很難滿足所有移動(dòng)設(shè)備的要求。所以,為了覆蓋不同移動(dòng)設(shè)備家族的需求,SVG工作小組最終制訂了兩個(gè)級(jí)別的Mobile SVG專業(yè)標(biāo)準(zhǔn)。第一級(jí)別的專業(yè)標(biāo)準(zhǔn)是SVG Tiny (SVGT),適用于資源高度受限的移動(dòng)設(shè)備,如手機(jī);第二級(jí)別的專業(yè)標(biāo)準(zhǔn)是SVG Basic (SVGB),適用于高端的移動(dòng)設(shè)備,如PDA等。由于移動(dòng)設(shè)備的CPU速度、內(nèi)存容量、顯示屏都比較小,相對(duì)于SVG,Mobile SVG在支持的內(nèi)容、屬性、功能等方面作了限制。為了保持內(nèi)容和處理軟件的兼容性,在制訂標(biāo)準(zhǔn)時(shí),把SVGT列入SVGB的子集,把SVGB列入SVG的子集。按SVG格式制作的圖像在保持圖像線條等不變的同時(shí),通過降低精度、省略線條的粗細(xì)和濃淡等信息標(biāo)記可以將其轉(zhuǎn)換成SVG Basic和SVG Tiny格式。
Mobile SVG與位圖相比,在對(duì)動(dòng)畫、地圖和互動(dòng)圖形進(jìn)行編碼和顯示方面的優(yōu)勢是明顯的。位圖是靜態(tài)的,而矢量圖形是動(dòng)態(tài)的、可以縮放的,可以描述非常高級(jí)的圖形特點(diǎn),如動(dòng)畫、分層圖形、半透明對(duì)象、畫中畫、復(fù)雜形狀和字體效果。另外,Mobile SVG所制作的矢量圖形可以執(zhí)行交互式操作,如可以縮放、平移、附加鏈接。
利用Mobile SVG的縮放性,圖形就可以調(diào)整大小,以適應(yīng)任何顯示器或打印機(jī),或者分辨率,而不會(huì)導(dǎo)致品質(zhì)損失。這在無線世界是一個(gè)優(yōu)勢,因移動(dòng)設(shè)備的形狀和尺寸很多。用戶還可以在不影響圖形質(zhì)量的情況下對(duì)圖形進(jìn)行放大,特別是用手機(jī)的小屏幕看圖時(shí)比較有用。
Mobile SVG文件通常小于位圖文件,從而可以縮短無線下載時(shí)間,這點(diǎn)對(duì)于非常計(jì)較帶寬的移動(dòng)應(yīng)用來說,尤其重要。 另一個(gè)例子,如將當(dāng)前屏幕上的圖形放大時(shí),若是位圖,則會(huì)出現(xiàn)使圖像模糊的馬賽克效應(yīng),此時(shí)若要獲得高質(zhì)量的放大圖像,則需重新從服務(wù)器獲取放大后的圖像,增加了網(wǎng)絡(luò)的流量;而SVG圖形是矢量數(shù)據(jù),只需利用原來的數(shù)據(jù),在客戶端進(jìn)行放大就可以得到?jīng)]有質(zhì)量損失的放大圖形。
Mobile SVG的另一個(gè)強(qiáng)大功能是可以存儲(chǔ)圖形中各元素的相關(guān)信息。例如,SVG可以識(shí)別出圖形中某個(gè)帶有一個(gè)三角形的正方形是一所房子,并且可以知道房子的樓層數(shù)等信息。SVG還支持事件,從而可以產(chǎn)生超鏈接或者嵌入文字的彈出窗口,以向用戶提供更多的信息或者可點(diǎn)擊的選項(xiàng)。另外,由于SVG是文本格式,可以利用基本的搜索引擎對(duì)SVG圖形中的文字進(jìn)行搜索,這樣可以查詢SVG圖形中具有某種屬性的圖形元素,如上面所說的房子。
Mobile SVG將增強(qiáng)MMS
Mobile SVG最近已被3GPP組織所采納,用于多媒體短信服務(wù)(MMS)。采用Mobile SVG,將使許多2.5G和3G MMS服務(wù)成為現(xiàn)實(shí)。
基于Mobile SVG的MMS與無線系統(tǒng)目前提供的簡單文本和基于位圖的圖形相比,可以使用戶獲得互動(dòng)性更強(qiáng)和更引人入勝的體驗(yàn)。另一方面,節(jié)省帶寬可能是Mobile SVG最吸引運(yùn)營商的特點(diǎn)。Mobile SVG不同于流式音頻和視頻,它可以順利工作于2.5G,甚至2G網(wǎng)絡(luò)。內(nèi)容豐富、互動(dòng)的Mobile SVG動(dòng)畫可以在小于12kb的帶寬上傳輸。
Mobile SVG增強(qiáng)了MMS短信,這對(duì)于手機(jī)制造商具有明顯的吸引力。而且與運(yùn)營商一樣,OEM廠商也可以在不對(duì)設(shè)計(jì)作重大變動(dòng)或不顯著增加成本的情況下,增加Mobile SVG功能。由于Mobile SVG是內(nèi)容如此豐富和通用的平臺(tái),最適合于幫助設(shè)備制造商提供差別化服務(wù)。
現(xiàn)在已出現(xiàn)相應(yīng)的工具,可以把現(xiàn)有的內(nèi)容轉(zhuǎn)換成Mobile SVG,并根據(jù)手機(jī)和網(wǎng)絡(luò)條件進(jìn)行優(yōu)化,因此,內(nèi)容供應(yīng)商將能夠降低開發(fā)難度和成本。借助于合適的系統(tǒng)內(nèi)容,開發(fā)商應(yīng)該能夠創(chuàng)作或一次性地轉(zhuǎn)換自己的內(nèi)容,使幾乎所有的設(shè)備都能顯示這些內(nèi)容,只要這些設(shè)備具備相應(yīng)的功能和SVG播放器。這種情況類似于現(xiàn)在用HTML制作網(wǎng)頁。
對(duì)于下一代無線系統(tǒng)(3G)來說,是否能夠成功取決于用戶。而對(duì)于無線用戶來說,如果存在充分的理由讓他們更換現(xiàn)有的手機(jī),他們就會(huì)更換。經(jīng)由像Mobile SVG這樣以用戶為中心的技術(shù)增強(qiáng)的MMS,將會(huì)產(chǎn)生更多促使手機(jī)升級(jí)的充分的理由。所以,對(duì)于業(yè)界來說,其面對(duì)的挑戰(zhàn)是實(shí)現(xiàn)和應(yīng)用Mobile SVG。
Mobile SVG適合的其它應(yīng)用類型和內(nèi)容
雖然Mobile SVG已開始在MMS上顯露身手,而實(shí)際上除了MMS,Mobile SVG還有豐富的應(yīng)用,包括:
娛樂:互動(dòng)卡通、賀卡和動(dòng)畫等。
基于位置的服務(wù):在地圖上顯示運(yùn)動(dòng)物體及相關(guān)鏈接,同時(shí)允許用戶縮放地圖、切換不同圖層的可見性、選擇特定的區(qū)域等;具體應(yīng)用如汽車導(dǎo)航、汽車調(diào)度、電子導(dǎo)游、移動(dòng)廣告等。
現(xiàn)場服務(wù):包括技術(shù)制圖,借助于Mobile SVG,就可以繪制出前后一致的、高品質(zhì)的圖像,可以看全景,也可以看局部細(xì)節(jié)。
Email附件:借助Mobile SVG,可以在支持MMS的移動(dòng)設(shè)備上顯示常見的辦公文檔,如MS Word、MS PowerPoint、Adobe PDF等文檔格式,并且保持文檔內(nèi)容的格式、圖形、字體信息的完整性。
其它任何JPG、GIF或其它位圖格式不能滿足要求的無線應(yīng)用場合,如要求提供內(nèi)容豐富、可伸縮、互動(dòng)的圖形或動(dòng)畫的地方。
對(duì)于實(shí)現(xiàn)Mobile SVG的考慮
Mobile SVG主要用于各種資源非常有限的移動(dòng)設(shè)備,所以在實(shí)現(xiàn)Mobile SVG時(shí),性能指標(biāo)成為最主要的指標(biāo)。手機(jī)的內(nèi)存很小,CPU的速度也很慢,PDA的內(nèi)存會(huì)稍微大一點(diǎn),CPU的處理能力會(huì)好一點(diǎn),但兩者的顯示屏分辨率都很小。盡管Mobile SVG針對(duì)移動(dòng)設(shè)備進(jìn)行了特別的設(shè)計(jì),使得在移動(dòng)設(shè)備上實(shí)現(xiàn)SVG更容易,但要實(shí)現(xiàn)一個(gè)用戶代理還是要實(shí)現(xiàn)XML解析、腳本、DOM、圖像庫、渲染等功能。
一般來說,XML解析比較快,而DOM則會(huì)消耗很大的內(nèi)存。圖像的渲染則更是消耗大量的CPU時(shí)間和內(nèi)存。在這些方面花些功夫,很有可能獲得性能的較大提高。另外,移動(dòng)設(shè)備的浮動(dòng)運(yùn)算一般都很慢,所以優(yōu)化算法,盡量減少浮動(dòng)運(yùn)算,也是提高性能的一個(gè)方面。
另一方面,要顯示的SVG內(nèi)容決定了渲染的性能。在生成SVG素材的時(shí)候應(yīng)注意哪些方面呢?首先,很顯然,要顯示的圖像元素越多,要渲染的時(shí)間越長。當(dāng)然,對(duì)圖形的特效處理,如濾鏡、漸變填充、平滑處理等,都會(huì)增加渲染的時(shí)間,所以在確實(shí)必要的時(shí)候才使用這些功能。
總的來說,在實(shí)現(xiàn)Mobile SVG的過程中,需要運(yùn)營商、終端制造商、內(nèi)容提供商共同努力,才能使Mobile SVG的無限魅力在資源受限的移動(dòng)設(shè)備上大放光彩。
----《通訊世界》