本發(fā)明實施例涉及信息處理技術領域,特別涉及圖標的顯示方法和圖標的顯示裝置。
背景技術:
隨著移動終端的發(fā)展,手機、平板電腦等移動終端已經成為生活中、工作中不可或缺的工具,從而人們對于移動終端及移動終端內應用程序的易用性、美觀性要求越來越高。比如,用戶可以根據日期、季節(jié)以及個人喜好切換移動終端或者應用程序的主題,使得移動終端或者應用程序可以擁有不同的外觀,符合用戶的心情。
目前,為了滿足用戶的這種需求,并且保證在用戶切換主題時,保持各種圖標與主題風格的統(tǒng)一,通常會為同一圖片或動圖,在不同主題下,存儲相應的文件,在用戶切換主題時,加載與主題對應的文件,從而保證主題與圖片風格的統(tǒng)一。
但是在實現本發(fā)明的過程中,發(fā)明人發(fā)現現有技術中存在一些問題:雖然為同一圖片或動圖,在不同主題下,存儲相應的文件,在用戶切換主題時,通過加載與主題對應的文件,可以保證主題與圖片風格的統(tǒng)一,但是卻需要占用較多的存儲空間,并且需要事先在移動終端內存儲不同分辨率的圖片以適應當前移動終端的分辨率,更加占用移動終端的存儲空間。
技術實現要素:
本發(fā)明實施方式的目的在于提供一種圖標的顯示方法和圖標的顯示裝置,使得存儲圖標占用的存儲資源減少。
為解決上述技術問題,本發(fā)明的實施方式提供了一種圖標的顯示方法應用于終端,包括:預存圖標的基礎文件,其中,每一個圖標對應一個基礎文件;獲取圖標的屬性值;根據基礎文件、獲取的屬性值,生成可伸縮矢量圖形SVG文件;在進行圖標的顯示時,根據SVG文件繪制所述圖標。
本發(fā)明的實施方式還提供了一種圖標的顯示裝置包括:存儲模塊、獲取模塊、生成模塊以及繪制模塊;存儲模塊用于預存圖標的基礎文件,其中,每一個圖標對應一個基礎文件;獲取模塊用于獲取圖標的屬性值;生成模塊用于根據基礎文件、獲取的屬性值,生成可伸縮矢量圖形SVG文件;繪制模塊用于在進行圖標的顯示時,根據SVG文件繪制圖標。
本發(fā)明實施方式相對于現有技術而言,在進行圖標顯示時,通過提供的根據每一個圖標對應的基礎文件與獲取到的圖標的屬性值,生成的可伸縮矢量圖形SVG文件進行圖標繪制的方式,從而無需專門為同一個圖標,在不同顯示場景下存儲多個相應的文件,大大減小了對終端存儲空間的占用。
另外,圖標的屬性值包括顏色值;在獲取圖標的屬性值時,獲取顯示界面的主題顏色值;在生成可伸縮矢量圖形SVG文件時,將獲取的主題顏色值賦予SVG文件中用于標識SVG圖形顏色的屬性值。本發(fā)明實施方式提供了一種根據主題顏色,將需要顯示的圖標繪制為相應顏色圖標的具體方法,無需為每一個圖標存儲多個與不同主題顏色相匹配圖標文件,只需要一個基礎文件,在切換主題時,將主題顏色更新到SVG文件相對應的屬性值實現不同主題顏色的圖標顯示,從而有效減小了對終端存儲空間的占用。
另外,圖標的屬性值還包括尺寸;在獲取圖標的屬性值時,獲取終端的屏幕分辨率,并計算與屏幕分辨率對應的圖標尺寸;在生成可伸縮矢量圖形SVG文件時,將計算得到的圖標尺寸賦予SVG文件中用于標識SVG圖形大小的屬性值。本發(fā)明實施方式提供了一種根據屏幕分辨率,將需要顯示的圖標繪制為相應尺寸圖標的具體方法,無需為同一個圖標存儲多個與不同屏幕分辨率相匹配的圖標文件,可以根據終端的屏幕分辨率,計算與屏幕分辨率相匹配的圖標尺寸,將圖標尺寸更新到SVG文件相對應的屬性值實現不同屏幕分辨率的圖標顯示,從而有效減小了對終端存儲空間的占用。
另外,圖標為應用程序里的圖標。本發(fā)明實施方式中提供的根據SVG文件繪制圖標的方法,可以應用于應用程序里的圖標,通過為對應的圖標生成一個SVG文件的方法,實現了在應用程序里可以根據主題和屏幕分辨率的大小顯示匹配的圖標,無需額外保存多個圖標,減小了應用程序對終端存儲空間的占用。
另外,圖標為圖標尺寸小于預設值的小圖標,或者簡單線條圖標。本發(fā)明實施方式中對根據SVG文件進行繪制的圖標進行了具體的限制,將圖標范圍限制為尺寸小于預設值的小圖標,或者簡單線條的圖標,在進行圖標顯示時,可以快速繪制,在減小對終端存儲空間占用的同時,也保證了繪制速度,不影響用戶的使用。
附圖說明
一個或多個實施例通過與之對應的附圖中的圖片進行示例性說明,這些示例性說明并不構成對實施例的限定,附圖中具有相同參考數字標號的元件表示為類似的元件,除非有特別申明,附圖中的圖不構成比例限制。
圖1是本發(fā)明第一實施方式一種圖標的顯示方法的流程圖;
圖2是本發(fā)明第二實施方式一種圖標的顯示方法的流程圖;
圖3是本發(fā)明第五實施方式一種圖標的顯示裝置的結構框圖;
圖4是本發(fā)明第六實施方式一種圖標的顯示裝置的結構框圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明的各實施方式進行詳細的闡述。然而,本領域的普通技術人員可以理解,在本發(fā)明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術細節(jié)。但是,即使沒有這些技術細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現本申請所要求保護的技術方案。
本發(fā)明的第一實施方式涉及一種圖標的顯示方法,具體流程如圖1所示。
圖1所示的圖標的顯示方法可以在用戶終端中使用,其中該用戶終端可以為例如智能手機、平板電腦、個人數字助理、臺式電腦、筆記本電腦等等。并且,本實施方式中涉及的圖標的顯示方法還可以適用于能夠安裝于上述終端的應用程序里的圖標,如QQ、微信、微博、郵箱,等等。此外,本實施方式的圖標可以是圖片或者動圖等。具體而言,圖1涉及的圖標的顯示方法的流程可以包括:
在步驟101中,預存圖標的基礎文件。
具體的說,在預存圖標的基礎文件時,為每一個圖標對應存儲一個基礎文件,即每一個圖標都有一個與之一一對應的基礎文件。
另外,值得一提的是,本實施方式中為每一個圖標預存的基礎文件中,可以包括與之對應的圖標的名稱、ID、所屬類別,如是某一個應用程序里的圖標,還是終端系統(tǒng)里的圖標,等等,這里不再一一列舉。
在步驟102中,獲取圖標的屬性值。
具體的說,圖標的屬性值可以包括尺寸,在獲取圖標的屬性值時,具體獲取的為終端的屏幕分辨率。
需要說明的是,在實際應用中,終端的類型繁多,其屏幕分辨率的大小也各不相同。為了保證終端系統(tǒng)內的相同圖標,或者相同應用程序里的圖標在終端的顯示界面顯示時,可以為了使圖標的尺寸與當前的屏幕分辨率相匹配,可以需要在獲取到終端的屏幕分辨率后,計算與屏幕分辨率對應的圖標尺寸。
在步驟103中,生成可伸縮矢量圖形SVG文件。
具體的說,根據基礎文件、獲取的屬性值,生成可伸縮矢量圖形SVG文件。
需要說明的是,在生成可伸縮矢量圖形SVG文件時,需要將步驟102中計算得到的圖標尺寸賦予SVG文件中用于標識SVG圖形大小的屬性值,從而可以確保后續(xù)操作中可以根據該值繪制相應大小的圖標。
另外,值得一提的是,本實施方式中生成的SVG文件為XML形式的SVG文件。
具體的,該XML形式的SVG文件可以包括:頭文件和文檔部分。頭文件包括XML文件頭定義和SVG繪制區(qū)域大小設定信息;文檔部分包括元素、附加屬性、施加于元素的仿射變換和濾鏡特效。
其中,XML文件頭定義中可以包含版本號、編碼類型等;SVG繪制區(qū)域大小設定信息,即用于標識SVG圖形大小的屬性值,可以為根據SVG文件繪制的圖標的寬、高。元素為各種用于繪制圖標的標簽;附加屬性為預設的自定義字段,開發(fā)人員可以根據實際需要,賦予內容;施加于元素的仿射變換為平移、旋轉、比例、剪切等用于在繪制圖標過程中對圖標做的變換操作;濾鏡特效為模糊、高光、變形、圖像合成、線條漸變、徑向漸變、陰影、浮凸等用于對繪制好的圖標做的特性處理。
在步驟104中,根據SVG文件繪制圖標。
具體的說,在進行圖標的顯示時,根據SVG文件繪制圖標。
需要說明的是,本實施方式中,根據SVG文件繪制的圖標可以為應用程序里的圖標,或者圖標尺寸小于預設值的小圖標,還或者為簡單線條圖標。因此,在進行圖標顯示時,可以快速繪制,在減小對終端存儲空間占用的同時,也保證了繪制速度,不影響用戶的使用。
現有技術中,為同一圖標在不同分辨率下存儲了不同的圖標文件,在獲取終端的屏幕分辨率之后,加載對應的圖標,實現了對不同屏幕分辨率的兼容,這種方式顯然需要為同一圖標存儲多個文件。而一個操作系統(tǒng)或者一個應用程序內包含眾多圖標,而且現在應用程序類型多樣,這就導致一部終端中圖標占用了太多的存儲資源。與現有技術相比,本實施方式對每一個圖標僅需要存儲一個基礎文件,再根據獲取的屏幕分辨率生成一個SVG文件,無需為每一個屏幕分辨率存儲一個文件,因此,大大減小了對終端存儲空間的占用。
本發(fā)明的第二實施方式涉及一種圖標的顯示方法。本實施方式與第一實施方式大致相同,主要區(qū)別為:第一實施方式在獲取到終端的屏幕分辨率后,需要進行計算得到與屏幕分辨率對應的圖標尺寸,然后進行設置,生成SVG文件;本實施方式中在獲取到顯示界面的主題顏色值后,直接進行設置,生成SVG文件,具體流程如圖2所示。
在步驟201中,預存圖標的基礎文件。
在步驟202中,獲取顯示界面的主題顏色值。
具體的說,圖標的屬性值可以包括顏色值,在獲取圖標的屬性值時,具體獲取的為顯示界面的主題顏色值。
在步驟203中,將主題顏色值賦予SVG文件中用于標識SVG圖形顏色的屬性值。
具體的說,在生成可伸縮矢量圖形SVG文件時,需要將上述步驟202中獲取的主題顏色值賦予SVG文件中用于標識SVG圖形顏色的屬性值,從而可以確保后續(xù)操作中可以根據該值繪制相應顏色的圖標
在步驟204中,生成可伸縮矢量圖形SVG文件。
在步驟205中,根據SVG文件繪制圖標。
下面針對一個XML形式的SVG文件中發(fā)一段代碼進行說明:
如上所示,<?xml version="1.0"encoding="utf-8"?>為頭文件中的XML文件頭定義部分,其中version為當前的版本號,encoding為當前的編碼類型;vector部分為標識SVG矢量圖形的部分,其中height、width、viewportHeight、viewportWidth為用于標識SVG圖形大小的高度、寬度、可視界面的高度及寬度;在vector標簽下共有3個標簽:path、clip-path、group,本發(fā)明實施方式中主要利用path標簽下的fillColor(用于定義填充路徑的顏色,即用于標識SVG圖形顏色的屬性值)和pathData(繪制路徑)實現圖標的繪制。
由于可伸縮矢量圖形的繪制方式,及用于繪制圖標的SVG文件中各個標簽的具體用途已經是本領域的公知常識,本領域的技術人員,在根據SVG文件繪制圖標時,可以根據實際需要設置和修改SVG文件中的標簽及相應屬性,此處不再贅述。
與現有技術相比,本實施方式中,為每一個圖標存儲一個基礎文件,無需為不同的主題存儲不同的圖標文件,切換主題顏色時,只需要將主題顏色值更新到SVG文件的顏色屬性值即可實現不同主題下不同顏色的圖標的顯示,從而大大減小了對存儲資源的占用?;诖耍梢栽O置更加豐富多彩的主題顏色,而無需考慮存儲圖標所占用的存儲資源的大小,從而為用戶提供更加精彩的視覺體驗。
上面各種方法的步驟劃分,只是為了描述清楚,實現時可以合并為一個步驟或者對某些步驟進行拆分,分解為多個步驟,只要包含相同的邏輯關系,都在本專利的保護范圍內;對算法中或者流程中添加無關緊要的修改或者引入無關緊要的設計,但不改變其算法和流程的核心設計都在該專利的保護范圍內。
本發(fā)明的第三實施方式涉及一種圖標的繪制裝置,如圖3所示。
圖標的顯示裝置300包括:存儲模塊301、獲取模塊302、生成模塊303、計算模塊304、設置模塊305以及繪制模塊306。
其中,存儲模塊301用于預存圖標的基礎文件,其中,每一個圖標對應一個基礎文件。
獲取模塊302用于獲取圖標的屬性值。
具體的說,獲取模塊302在獲取圖標的屬性值時,具體獲取終端的屏幕分辨率。
生成模塊303用于根據基礎文件、獲取的屬性值,生成可伸縮矢量圖形SVG文件。
計算模塊304用于計算與屏幕分辨率對應的圖標尺寸。
設置模塊305用于在生成模塊303生成可伸縮矢量圖形SVG文件時,將計算模塊304計算得到的圖標尺寸賦予SVG文件中用于標識SVG圖形大小的屬性值。
繪制模塊306用于在進行圖標的顯示時,根據SVG文件繪制圖標。
具體的說,在本實施方式中圖標的顯示裝置顯示的圖標為應用程序里的圖標或者為圖標尺寸小于預設值的小圖標,還或者為簡單線條圖標。
需要說明的是,用于判斷圖標尺寸的預設值為開發(fā)人員預先設定的,在實際開發(fā)中,開發(fā)人員可以根據現有可以顯示于終端上的圖標的尺寸作為衡量標準,根據圖標需要顯示的場合、終端進行設定;也可以由服務器根據獲取到的可以顯示與終端界面中的圖標的基礎文件或者其他含有標識圖標大小的文件進行合理計算,設定預設值,在圖標尺寸小于預設值時,生成與之對應的SVG文件,實現圖標的繪制。通過這種將圖標范圍限制為尺寸小于預設值的小圖標,或者簡單線條的圖標,或者應用程序中的圖標,在進行圖標顯示時,可以快速繪制,在減小對終端存儲空間占用的同時,也保證了繪制速度,不影響用戶的使用。
現有技術中,為同一圖標在不同分辨率下存儲了不同的圖標文件,在獲取終端的屏幕分辨率之后,加載對應的圖標,實現了對不同屏幕分辨率的兼容,這種方式顯然需要為同一圖標存儲多個文件。而一個操作系統(tǒng)或者一個應用程序內包含眾多圖標,而且現在應用程序類型多樣,這就導致一部終端中圖標占用了太多的存儲資源。與現有技術相比,本實施方式對每一個圖標僅需要存儲一個基礎文件,再根據獲取的屏幕分辨率生成一個SVG文件,無需為每一個屏幕分辨率存儲一個文件,因此,大大減小了對終端存儲空間的占用。
不難發(fā)現,本實施方式為與第一實施方式相對應的裝置實施例,本實施方式可與第一實施方式互相配合實施。第一實施方式中提到的相關技術細節(jié)在本實施方式中依然有效,為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節(jié)也可應用在第一實施方式中。
值得一提的是,本實施方式中所涉及到的各模塊均為邏輯模塊,在實際應用中,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一部分,還可以以多個物理單元的組合實現。此外,為了突出本發(fā)明的創(chuàng)新部分,本實施方式中并沒有將與解決本發(fā)明所提出的技術問題關系不太密切的單元引入,但這并不表明本實施方式中不存在其它的單元。
本發(fā)明的第四實施方式涉及一種圖標的顯示裝置。本實施方式與第三實施方式大致相同,主要區(qū)別為:在第三實施方式中獲取模塊在獲取到終端的屏幕分辨率后,需要經過計算模塊進行計算得到與屏幕分辨率對應的圖標尺寸,然后由設置模塊進行設置,生成SVG文件;在本實施方式中獲取模塊在獲取到顯示界面的主題顏色值后,直接通過設置模塊進行設置,生成SVG文件,具體模塊直接的連接關系如圖4所示。
其中,獲取模塊302在獲取圖標的屬性值時,具體獲取顯示界面的主題顏色值。
設置模塊304用于在生成模塊305生成可伸縮矢量圖形SVG文件時,將獲取模塊302獲取的主題顏色值賦予SVG文件中用于標識所述SVG圖形顏色的屬性值。
從而,在用戶點擊終端的顯示界面時,可以直接根據當前顯示界面的主題顏色值和基礎文件生成的SVG文件進行圖標的繪制,實現了終端中顯示的圖標與主題顏色保持一致。
與現有技術相比,本實施方式中提供的圖標的繪制裝置,為每一個圖標存儲一個基礎文件,無需為不同的主題存儲不同的圖標文件,切換主題顏色時,只需要將主題顏色值更新到SVG文件的顏色屬性值即可實現不同主題下不同顏色的圖標的顯示,從而大大減小了對存儲資源的占用?;诖?,可以設置更加豐富多彩的主題顏色,而無需考慮存儲圖標所占用的存儲資源的大小,從而為用戶提供更加精彩的視覺體驗。
由于第二實施方式與本實施方式相互對應,因此本實施方式可與第二實施方式互相配合實施。第二實施方式中提到的相關技術細節(jié)在本實施方式中依然有效,在第二實施方式中所能達到的技術效果在本實施方式中也同樣可以實現,為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節(jié)也可應用在第二實施方式中。
本領域技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序存儲在一個存儲介質中,包括若干指令用以使得一個設備(可以是單片機,芯片等)或處理器(processor)執(zhí)行本申請各個實施例方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
本領域的普通技術人員可以理解,上述各實施方式是實現本發(fā)明的具體實施例,而在實際應用中,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。