欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種原生矢量圖格式轉換方法和系統(tǒng)的制作方法

文檔序號:6403160閱讀:247來源:國知局
專利名稱:一種原生矢量圖格式轉換方法和系統(tǒng)的制作方法
技術領域
本發(fā)明涉及圖形文件的編解碼技術,尤其涉及一種原生矢量圖格式轉換方法和系統(tǒng)。
背景技術
隨著網(wǎng)絡的普及,遠程用戶需要通過互聯(lián)網(wǎng)及時地觀看原生矢量圖平臺工具生成的原生矢量圖,如MXE格式矢量圖。但是,由于瀏覽器不支持原生矢量圖格式文件,原生矢量圖平臺工具生成的原生矢量圖只能由裝載所述工具的本地計算機顯示,遠程計算機不能通過互聯(lián)網(wǎng)訪問原生矢量圖平臺工具生成的原生矢量圖。

發(fā)明內容
有鑒于此,本發(fā)明的主要目的在于提供一種原生矢量圖格式轉換方法和系統(tǒng),能夠將原生矢量圖格式轉換成瀏覽器支持的可縮放矢量圖形(Scalable Vector Graphics,SVG)矢量圖格式。為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的:本發(fā)明提供的一種原生矢量圖格式轉換方法,所述方法包括:通過對加載的原生矢量圖進行解析,將原生矢量圖元素映射成JAVA對象;
·
將JAVA對象映射成可縮放矢量圖形SVG元素;將所述SVG元素編碼生成SVG矢量圖。較佳地,所述對加載的原生矢量圖進行解析為:對加載的原生矢量圖進行文件對象模型DOM解析,所述原生矢量圖是可擴展標記語言XML格式的文件。較佳地,所述將原生矢量圖元素對象映射成JAVA對象為:將文件記錄的節(jié)點名稱及所述節(jié)點名稱對應的屬性賦給預先定義的Java對象。較佳地,所述將JAVA對象映射成SVG元素為:對JAVA對象進行反射,獲得JAVA對象的類;通過訪問所述類,遍歷獲得域成員;對域成員進行反射,得到域成員的操作函數(shù);根據(jù)所述操作函數(shù)獲得所述域成員的域成員值。較佳地,所述將所述SVG元素編碼生成SVG矢量圖為:將域成員的域成員名和域成員值以符合SVG標準的格式寫入SVG矢量圖文件。本發(fā)明提供的一種原生矢量圖格式轉換系統(tǒng),所述系統(tǒng)包括:JAVA對象生成單元,用于通過對加載的原生矢量圖進行解析,將原生矢量圖元素映射成JAVA對象;SVG元素生成單元,用于將JAVA對象映射成可縮放矢量圖形SVG元素;SVG矢量圖生成單元,用于將所述SVG元素編碼生成SVG矢量圖。
較佳地,所述JAVA對象生成單元,具體用于對加載的原生矢量圖進行文件對象模型DOM解析。較佳地,所述JAVA對象生成單元,具體用于將文件記錄的節(jié)點名稱及所述節(jié)點名稱對應的屬性賦給預先定義的Java對象。較佳地,所述SVG元素生成單元,具體用于對JAVA對象進行反射,獲得JAVA對象的類;通過訪問所述類,遍歷獲得域成員;對域成員進行反射,得到域成員的操作函數(shù);根據(jù)所述操作函數(shù)獲得所述域成員的域成員值。較佳地,所述SVG矢量圖生成單元,具體用于將域成員的域成員名和域成員值以符合SVG標準的格式寫入SVG矢量圖文件。由上可知,本發(fā)明的技術方案包括:通過對加載的原生矢量圖進行解析,將原生矢量圖元素映射成JAVA對象^fJAVA對象映射成可縮放矢量圖形SVG元素;將所述SVG元素編碼生成SVG矢量圖。由此,本發(fā)明通過將原生矢量圖元素映射成JAVA對象,再將JAVA對象映射成SVG元素,然后SVG元素編碼生成SVG矢量圖,實現(xiàn)將原生矢量圖格式轉換成瀏覽器支持的SVG矢量圖格式。


圖1為本發(fā)明原生矢量圖格式轉換方法的實現(xiàn)流程示意
圖2為本發(fā)明文件解析的實現(xiàn)流程示意圖;圖3為本發(fā)明通過解析器進行節(jié)點屬性解析的實現(xiàn)流程示意圖;圖4為本發(fā)明通過解析器進行節(jié)點的孩子節(jié)點解析的實現(xiàn)流程示意圖;圖5為本發(fā)明將JAVA對象映射成SVG元素的實現(xiàn)流程示意圖;圖6為本發(fā)明原生矢量圖格式轉換系統(tǒng)的結構示意圖;圖7為本發(fā)明AJAX異步實時讀取數(shù)據(jù)的實現(xiàn)流程示意圖;圖8為本發(fā)明AJAX異步實時讀取數(shù)據(jù)的實現(xiàn)流程示意圖。
具體實施例方式本發(fā)明提供了一種原生矢量圖格式轉換方法,如圖1所示,所述方法包括:步驟101、通過對加載的原生矢量圖進行解析,將原生矢量圖元素映射成JAVA對象;這里,使用原生矢量圖平臺工具打開并加載原生矢量圖;原生矢量圖平臺工具對加載的原生矢量圖進行解析,并呈現(xiàn)原生矢量圖效果。此時可以對原生矢量圖進行編輯,若未編輯完畢則可繼續(xù)在原生矢量圖平臺工具對該原生矢量圖進行編輯,并循環(huán)上面的原生矢量圖加載呈現(xiàn)過程;若編輯完畢,選擇另存為SVG矢量圖文件;原生矢量圖平臺工具將原生矢量圖元素映射成JAVA對象。步驟102、將JAVA對象映射成可縮放矢量圖形SVG元素;這里,將內存中一系列的JAVA對象映射成一系列的SVG標簽元素。步驟103、將所述SVG元素編碼生成SVG矢量這里,將一系列SVG標簽元素寫入目標SVG矢量圖文件。在實際應用中,用瀏覽器打開預覽;通過JAVASCRIPT腳本對SVG文件內容進行處理,基于AJAX異步讀取數(shù)據(jù)即可獲取數(shù)據(jù)并實時顯示SVG矢量圖,從而遠程計算機能夠通過互聯(lián)網(wǎng)訪問原生矢量圖平臺工具生成的原生矢量圖。優(yōu)選地,所述對加載的原生矢量圖進行解析可以為:對加載的原生矢量圖的可擴展標記語言(Extensible Markup Language, XML)文件進行文件對象模型(Document Object Model, DOM)解析;具體的,參見圖2、3、4所示,對于樹狀結構的文件的解析過程如下:步驟201、解析根節(jié)點;步驟202、獲取與節(jié)點類型信息綁定的解析器;步驟203、通過解析器進行節(jié)點屬性解析;具體的,通過解析器進行節(jié)點屬性解析包括以下步驟:步驟2031、獲取節(jié)點的第一個屬性;步驟2032、將屬性的內容作為賦值給對象;步驟2033、判斷是否存在下一個屬性,若存在則進入步驟2034 ;若不存在則節(jié)點屬性解析完成。 步驟2034、獲取下一個屬性,返回步驟2032。步驟204、通過解析器進行節(jié)點的孩子節(jié)點解析;具體的,通過解析器進行節(jié)點的孩子節(jié)點解析包括以下步驟:步驟2041、獲得第一個孩子節(jié)點;步驟2042、判斷節(jié)點內容是否為空,若為空則進入步驟2044,若不為空,進入步驟2043 ;步驟2043、通過解析器解析節(jié)點;步驟2044、判斷是否存在下一個孩子節(jié)點,若存在則進入步驟2042 ;若不存在則節(jié)點的孩子節(jié)點屬性解析完成。步驟205、判斷是否存在下一個節(jié)點,若存在則進入步驟206 ;若不存在則結束本次流程;步驟206、獲取下一個節(jié)點,返回步驟202。優(yōu)選地,所述將原生矢量圖元素對象映射成JAVA對象可以為:將文件記錄的節(jié)點名稱及所述節(jié)點名稱對應的屬性賦給預先定義的Java對象;這里,通過平臺工具提供的解碼器將原生矢量圖文件格式生成Java對象,所述Java對象具有一定格式,所述Java對象是用一個樹形結構存儲的。優(yōu)選地,參照圖5所示,所述將JAVA對象映射成SVG元素可以為:步驟501、對JAVA對象進行反射,獲得JAVA對象的類;步驟502、通過訪問所述類,遍歷獲得域成員;步驟503、對域成員進行反射,得到域成員的操作函數(shù);步驟504、根據(jù)所述操作函數(shù)獲得所述域成員的域成員值。優(yōu)選地,所述將所述SVG元素編碼生成SVG矢量圖可以為:將域成員的域成員名和域成員值以符合SVG標準的格式寫入SVG矢量圖文件。
本發(fā)明提供了一種原生矢量圖格式轉換系統(tǒng),如圖6所示,所述系統(tǒng)包括:JAVA對象生成單元,用于通過對加載的原生矢量圖進行解析,將原生矢量圖元素映射成JAVA對象;SVG元素生成單元,用于將JAVA對象映射成可縮放矢量圖形SVG元素;SVG矢量圖生成單元,用于將所述SVG元素編碼生成SVG矢量圖。優(yōu)選地,所述JAVA對象生成單元,具體用于對加載的原生矢量圖的可擴展標記語言XML文件進行文件對象模型DOM解析。優(yōu)選地,所述JAVA對象生成單元,具體用于將文件記錄的節(jié)點名稱及所述節(jié)點名稱對應的屬性賦給預先定義的Java對象。優(yōu)選地,所述SVG元素生成單元,具體用于對JAVA對象進行反射,獲得JAVA對象的類;通過訪問所述類,遍歷獲得域成員;對域成員進行反射,得到域成員的操作函數(shù);根據(jù)所述操作函數(shù)獲得所述域成員的域成員值。優(yōu)選地,所述SVG矢量圖生成單元,具體用于將域成員的域成員名和域成員值以符合SVG標準的格式寫入SVG矢量圖文件。在實際應用中,參照圖7、8所示,瀏覽器端基于JAVASCRIPT腳本的AJAX異步實時讀取數(shù)據(jù)過程如下:步驟701、嵌入SVG的網(wǎng)頁在加載時調用JAVASCRIPT定義的方法;步驟702、發(fā)起JQUERYAJAX的POST發(fā)起請求,請求JSP服務器端;步驟703、JSP接受請求后被執(zhí)行,進行數(shù)據(jù)處理并發(fā)起數(shù)據(jù)庫查詢請求,通過SQL語句查詢數(shù)據(jù)庫;此處的SQL語句是通過對SVG文件中所有的數(shù)據(jù)庫信息進行split操作得到需要的字段,并以一定格式拼接出的;步驟704、服務器端將數(shù)據(jù)庫返回數(shù)據(jù)存于一個map數(shù)據(jù)結構中返回給客戶端;多次的數(shù)據(jù)庫查詢返回了多個數(shù)據(jù),需要對每個數(shù)據(jù)對應SVG文件中的哪個元素信息進行識別,所以把查詢數(shù)據(jù)庫的信息需要進行保存,這里有一個數(shù)據(jù)對應的關系,采用一個 HashMap〈String, String〉存儲;步驟705、JAVASCRIPT對數(shù)據(jù)進行處理并對SVG文件進行DOM操作;將AJAX POST回調函數(shù)返回的數(shù)據(jù)進行split等一系列處理后得到一系列的主鍵,表名和對應的值,通過DOM解析獲得SVG文件中對應的屬性與返回數(shù)據(jù)中的主鍵表名進行比較,如果相 等,就把相應的值賦給SVG中該元素對應的顯示文字處;步驟706、數(shù)據(jù)修改SVG文件從而動態(tài)修改了網(wǎng)頁,顯示給終端用戶網(wǎng)頁刷新,顯示數(shù)據(jù)。下面以將本發(fā)明應用于供暖公司鍋爐房監(jiān)控場景為例,對本發(fā)明進行介紹。步驟801、用戶在原生矢量圖平臺工具中選定打開某一原生矢量圖文件;該原生矢量圖文件可以形象化地看到鍋爐房的配置并可讀取一系列的監(jiān)控信息;步驟802、原生矢量圖平臺工具加載并顯示原生矢量此時原生矢量圖平臺工具已經通過解碼器解析了原生矢量圖并生成了具有一定格式的JAVA對象,用戶此時可選擇繼續(xù)編輯;步驟803、用戶編輯完畢后,可選擇菜單欄選項中的文件另存為選項另存為SVG矢量圖文件;步驟804、原生矢量圖平臺工具通過調用目標格式文件的編碼器將上述具有一定格式的JAVA對象進行對象元素映射成一系列SVG標簽的元素,寫入了 SVG目標矢量圖文件。步驟805、將SVG目標矢量圖文件放入瀏覽器中打開;步驟806、JAVASCRIPT腳本發(fā)起JQUERY AJAX POST方法,請求JSP服務器端;步驟807、服務器端將數(shù)據(jù)庫返回數(shù)據(jù)存于一個MAP數(shù)據(jù)結構中返回給客戶端;多次的數(shù)據(jù)庫查詢返回了多個數(shù)據(jù),需要對每個數(shù)據(jù)對應SVG矢量圖文件中的哪個元素信息進行識別,所以把查詢數(shù)據(jù)庫的信息需要進行保存,這里有一個數(shù)據(jù)對應的關系,采用一個 HashMap〈String, String〉存儲;步驟808、JAVASCRIPT對數(shù)據(jù)進行處理并對SVG文件進行DOM操作;步驟809、數(shù)據(jù)修改SVG矢量圖文件從而動態(tài)修改了網(wǎng)頁,顯示給終端用戶網(wǎng)頁刷新,顯示數(shù)據(jù)。·以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權利要求
1.一種原生矢量圖格式轉換方法,其特征在于,所述方法包括: 通過對加載的原生矢量圖進行解析,將原生矢量圖元素映射成JAVA對象; 將JAVA對象映射成可縮放矢量圖形SVG元素; 將所述SVG元素編碼生成SVG矢量圖。
2.根據(jù)權利要求1所述的方法,其特征在于,所述對加載的原生矢量圖進行解析為: 對加載的原生矢量圖進行文件對象模型DOM解析,所述原生矢量圖是可擴展標記語言XML格式的文件。
3.根據(jù)權利要求1所述的方法,其特征在于,所述將原生矢量圖元素對象映射成JAVA對象為: 將文件記錄的節(jié)點名稱及所述節(jié)點名稱對應的屬性賦給預先定義的Java對象。
4.根據(jù)權利要求1所述的方法,其特征在于,所述將JAVA對象映射成SVG元素為: 對JAVA對象進行反射,獲得JAVA對象的類; 通過訪問所述類,遍歷獲得域成員; 對域成員進行反射,得到域成員的操作函數(shù); 根據(jù)所述操作函數(shù)獲得所述域成員的域成員值。
5.根據(jù)權利要求4所 述的方法,其特征在于,所述將所述SVG元素編碼生成SVG矢量圖為: 將域成員的域成員名和域成員值以符合SVG標準的格式寫入SVG矢量圖文件。
6.一種原生矢量圖格式轉換系統(tǒng),其特征在于,所述系統(tǒng)包括: JAVA對象生成單元,用于通過對加載的原生矢量圖進行解析,將原生矢量圖元素映射成JAVA對象; SVG元素生成單元,用于將JAVA對象映射成可縮放矢量圖形SVG元素; SVG矢量圖生成單元,用于將所述SVG元素編碼生成SVG矢量圖。
7.根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述JAVA對象生成單元,具體用于對加載的原生矢量圖進行文件對象模型DOM解析。
8.根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述JAVA對象生成單元,具體用于將文件記錄的節(jié)點名稱及所述節(jié)點名稱對應的屬性賦給預先定義的Java對象。
9.根據(jù)權利要求6所述的系統(tǒng),其特征在于,所述SVG元素生成單元,具體用于對JAVA對象進行反射,獲得JAVA對象的類; 通過訪問所述類,遍歷獲得域成員; 對域成員進行反射,得到域成員的操作函數(shù); 根據(jù)所述操作函數(shù)獲得所述域成員的域成員值。
10.根據(jù)權利要求9所述的系統(tǒng),其特征在于,所述SVG矢量圖生成單元,具體用于將域成員的域成員名和域成員值以符合SVG標準的格式寫入SVG矢量圖文件。
全文摘要
本發(fā)明公開了一種原生矢量圖格式轉換方法和系統(tǒng),其中,所述方法包括通過對加載的原生矢量圖進行解析,將原生矢量圖元素映射成JAVA對象;將JAVA對象映射成可縮放矢量圖形SVG元素;將所述SVG元素編碼生成SVG矢量圖。本發(fā)明能夠將原生矢量圖格式轉換成瀏覽器支持的SVG矢量圖格式。
文檔編號G06F17/30GK103226619SQ201310195660
公開日2013年7月31日 申請日期2013年5月23日 優(yōu)先權日2013年5月23日
發(fā)明者程渤, 吳步丹, 陳俊亮, 劉派 申請人:北京郵電大學, 無錫北郵感知技術產業(yè)研究院有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
南部县| 青川县| 抚远县| 邛崃市| 嘉荫县| 曲周县| 辽阳市| 铜梁县| 铁岭县| 济宁市| 兴文县| 常熟市| 长白| 永德县| 珠海市| 阿尔山市| 共和县| 凯里市| 义乌市| 日土县| 广东省| 乳源| 枞阳县| 苍溪县| 南岸区| 沙雅县| 梅州市| 辽宁省| 英吉沙县| 哈巴河县| 永顺县| 中宁县| 佛冈县| 平陆县| 尚义县| 诏安县| 光泽县| 桃园市| 富宁县| 兴山县| 鄢陵县|