應(yīng)用中圖片內(nèi)容的顯示方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種應(yīng)用中圖片內(nèi)容的顯示方法,所述應(yīng)用中圖片內(nèi)容的顯示方法包括:獲取圖片原始信息;序列化處理所述圖片原始信息得到序列化對象;對所述序列化對象進行反序列化,由所述序列化對象中的顏色表和像素緩沖區(qū)創(chuàng)建得到索引顏色格式的位圖對象;通過所述位圖對象進行所述應(yīng)用中圖片內(nèi)容的顯示。本發(fā)明還公開了一種與所述方法相匹配的應(yīng)用中圖片內(nèi)容的顯示裝置。采用本發(fā)明的應(yīng)用中圖片內(nèi)容的顯示方法及裝置能夠有效地降低電子設(shè)備中的內(nèi)存占用率,進而提高電子設(shè)備中應(yīng)用的功能性及穩(wěn)定性。
【專利說明】
應(yīng)用中圖片內(nèi)容的顯示方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用中圖片內(nèi)容的顯示方法及裝置。
【背景技術(shù)】
[0002]隨著計算機應(yīng)用技術(shù)的逐漸發(fā)展,各種電子設(shè)備越來越普及,基于電子設(shè)備中的應(yīng)用也越來越豐富,例如,電子書閱讀器、瀏覽器等。這些應(yīng)用中往往需要進行圖片顯示,用戶通過顯示的圖片內(nèi)容進行電子書的閱讀或者網(wǎng)頁的瀏覽。
[0003]然而,目前應(yīng)用中圖片內(nèi)容的顯示通常是通過真彩顏色格式的位圖對象的創(chuàng)建進行的,即在所創(chuàng)建的位圖對象中,通過像素緩沖區(qū)內(nèi)每個像素的顏色來顯示圖片內(nèi)容,而該種真彩顏色格式的位圖對象中像素緩沖區(qū)的每個像素至少需要占用16位(bits)存儲空間。
[0004]因此,在顯示的圖片較多或者所顯示的圖片尺寸較大的場景中,容易因電子設(shè)備的內(nèi)存耗盡而發(fā)生系統(tǒng)錯誤,尤其是內(nèi)存有限的智能手機等移動終端,從而影響應(yīng)用的功能以及穩(wěn)定性。
【發(fā)明內(nèi)容】
[0005]基于此,有必要提供一種應(yīng)用中圖片內(nèi)容的顯示方法,所述方法能夠有效地降低電子設(shè)備中的內(nèi)存占用率,進而提高電子設(shè)備中應(yīng)用的功能性及穩(wěn)定性。
[0006]此外,還有必要提供一種應(yīng)用中圖片內(nèi)容的顯示裝置,所述裝置能夠有效地降低電子設(shè)備中的內(nèi)存占用率,進而提高電子設(shè)備中應(yīng)用的功能性及穩(wěn)定性。
[0007]為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案為:
一種應(yīng)用中圖片內(nèi)容的顯示方法,包括:獲取圖片原始信息;序列化處理所述圖片原始信息得到序列化對象;對所述序列化對象進行反序列化,由所述序列化對象中的顏色表和像素緩沖區(qū)創(chuàng)建得到索引顏色格式的位圖對象;通過所述位圖對象進行所述應(yīng)用中圖片內(nèi)容的顯示。
[0008]—種應(yīng)用中圖片內(nèi)容的顯示裝置,包括:信息獲取模塊,用于獲取圖片原始信息;序列化模塊,用于序列化處理所述圖片原始信息得到序列化對象;反序列化模塊,用于對所述序列化對象進行反序列化,由所述序列化對象中的顏色表和像素緩沖區(qū)創(chuàng)建得到索引顏色格式的位圖對象;顯示模塊,用于通過所述位圖對象進行所述應(yīng)用中圖片內(nèi)容的顯示。
[0009]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
應(yīng)用中,將通過索引顏色格式的位圖對象的創(chuàng)建進行圖片內(nèi)容的顯示,其中,索引顏色格式的位圖對象是通過序列化和反序列處理,由序列化對象中的顏色表和像素緩沖區(qū)創(chuàng)建得到的。由于索引顏色格式的位圖對象中每個像素僅占用8位存儲空間,針對進行顯示的同尺寸圖片,是真彩顏色格式的位圖對象中每個像素所占用的存儲空間的1/2甚至1/4,以此有效地降低了電子設(shè)備中的內(nèi)存占用率,顯著地降低了系統(tǒng)錯誤發(fā)生的概率,進而提高了電子設(shè)備中應(yīng)用的功能性及穩(wěn)定性。
【附圖說明】
[0010]圖1為本發(fā)明實施例所提供的一種電子設(shè)備的結(jié)構(gòu)示意圖;
圖2為一實施例的應(yīng)用中圖片內(nèi)容的顯示方法的流程圖;
圖3為圖2中獲取圖片原始信息的方法流程圖;
圖4為另一實施例的應(yīng)用中圖片內(nèi)容的顯示方法的流程圖;
圖5為圖4中通過位圖對象中索引顏色格式的強制修改獲得編輯狀態(tài)的位圖對象的方法流程圖;
圖6為一實施例的應(yīng)用中圖片內(nèi)容的顯示裝置的結(jié)構(gòu)框圖;
圖7為圖6中信息獲取模塊的結(jié)構(gòu)框圖;
圖8為另一實施例中應(yīng)用中圖片內(nèi)容的顯示的結(jié)構(gòu)框圖;
圖9為圖8中對象獲取模塊的結(jié)構(gòu)框圖。
【具體實施方式】
[0011]體現(xiàn)本發(fā)明特征與優(yōu)點的典型實施方式將在以下的說明中詳細(xì)敘述。應(yīng)理解的是本發(fā)明能夠在不同的實施方式上具有各種的變化,其皆不脫離本發(fā)明的范圍,且其中的說明及圖示在本質(zhì)上是當(dāng)作說明之用,而非用以限制本發(fā)明。
[0012]如前所述,位圖對象可用來進行應(yīng)用中圖片內(nèi)容的顯示。位圖對象的顏色格式不限于真彩顏色格式,還包括Alpha8格式和索引顏色格式。
[0013]其中,真彩顏色格式表示通過紅(R)、綠(G)、藍(B)三原色的光學(xué)強度和透明度(A)來描述每個像素的顏色。真彩顏色格式又進一步包括ARGB8888、ARGB4444、RGB565,無論上述哪種真彩顏色格式,該種顏色格式的位圖對象中像素緩沖區(qū)的每個像素都至少占用16位存儲空間。例如,ARGB8888格式針對每個像素的紅、綠、藍、透明度分別用8位無符號整數(shù)來表示,相應(yīng)地,ARGB8888格式的位圖對象中像素緩沖區(qū)的每個像素將占用32位存儲空間。
[0014]AlphaS格式一般是用作圖片合成或者圖片編輯時的掩碼,僅能夠描述每個像素的透明度,該種顏色格式的位圖對象中像素緩沖區(qū)的每個像素僅占用8位存儲空間。
[0015]索引顏色格式表示通過查找顏色表來描述每個像素的顏色,該顏色表是通過抽樣圖片中具有代表性的最多256種顏色編制形成的。該種顏色格式的位圖對象中像素緩沖區(qū)的每個像素也僅占用8位存儲空間。
[0016]可見,位圖對象的各種顏色格式中僅有索引顏色格式既能夠用來描述每個像素的顏色,并且占用的存儲空間比較少。
[0017]然而,傳統(tǒng)技術(shù)中對索引顏色格式的位圖對象的創(chuàng)建設(shè)置了諸多要求,即只有在輸入圖片為具有透明度且顏色格式為索引顏色格式,而輸出圖片為RGB565格式時才能夠進行索引顏色格式的位圖對象的創(chuàng)建。而實際應(yīng)用中,大部分場景下都不會甚至無法對輸入圖片的顏色格式進行指定,即使是進行了手動指定,仍然未必能夠使得輸入圖片符合具有透明度的要求,此外,輸入圖片具有透明度,而輸出圖片卻是不具有透明度的RGB565格式,本身也是一種矛盾的存在,從而導(dǎo)致索引顏色格式的位圖對象能夠被創(chuàng)建的概率幾乎為零。
[0018]進一步地,通過創(chuàng)建索引顏色格式的位圖對象進行應(yīng)用中圖片內(nèi)容的顯示以達到存儲空間減少的目的就更是難以實現(xiàn)了。
[0019]因此,為了有效地降低應(yīng)用中圖片內(nèi)容在顯示過程中占用的存儲空間,特提出了一種應(yīng)用中圖片內(nèi)容的顯示方法。該方法將通過索引顏色格式的位圖對象的創(chuàng)建進行圖片內(nèi)容的顯示,其可依賴于計算機程序,該計算機程序?qū)⑦\行在電子設(shè)備之上。
[0020]請參閱圖1,圖1為本發(fā)明實施例所提供的一種電子設(shè)備100的結(jié)構(gòu)示意圖。該電子設(shè)備100可以是智能手機、平板電腦、掌上電腦、計算機、筆記本電腦或者其它能夠運行Android系統(tǒng)、1S系統(tǒng)、Windows系統(tǒng)等操作系統(tǒng)的電子設(shè)備。
[0021]需要說明的是,該電子設(shè)備100只是一個適配于本發(fā)明的示例,不能認(rèn)為是提供了對本發(fā)明的使用范圍的任何限制。該電子設(shè)備100也不能解釋為需要依賴于或者必須具有圖1中示出的示例性的電子設(shè)備100中的一個或者多個部件。
[0022]如圖1所示,電子設(shè)備100包括存儲器101、存儲控制器103、一個或多個(圖中僅示出一個)處理器105、外設(shè)接口 107、射頻模塊109、定位模塊111、攝像模塊113、音頻模塊115、觸控屏幕117以及按鍵模塊119。這些組件通過一條或多條通訊總線/信號線121相互通訊。
[0023]可以理解,圖1所示的結(jié)構(gòu)僅為示意,電子設(shè)備100還可包括比圖1中所示更多或更少的組件,或者具有與圖1所示不同的組件。圖1中所示的各組件可以采用硬件、軟件或者其組合來實現(xiàn)。
[0024]其中,存儲器101可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的桌面工具顯示方法及裝置對應(yīng)的程序指令及模塊,處理器105通過運行存儲在存儲器101內(nèi)的程序指令,從而執(zhí)行各種功能以及數(shù)據(jù)處理,即實現(xiàn)上述運行于電子設(shè)備100的應(yīng)用中圖片內(nèi)容的顯示方法。
[0025]存儲器101作為資源存儲的載體,可以是隨機存儲介質(zhì)、例如高速隨機存儲器、非易失性存儲器,如一個或多個磁性存儲裝置、閃存、或者其它固態(tài)存儲器。存儲方式可以是短暫存儲或者永久存儲。
[0026]外設(shè)接口107可以包括至少一有線或無線網(wǎng)絡(luò)接口、至少一串并聯(lián)轉(zhuǎn)換接口、至少一輸入輸出接口以及至少一USB接口等等,用于將外部各種輸入/輸出裝置耦合至存儲器101以及處理器105,以實現(xiàn)與外部各種輸入/輸出裝置的通信。
[0027]射頻模塊109用于收發(fā)電磁波,實現(xiàn)電磁波與電信號的相互轉(zhuǎn)換,從而通過通訊網(wǎng)絡(luò)與其他設(shè)備進行通訊。通信網(wǎng)絡(luò)包括蜂窩式電話網(wǎng)、無線局域網(wǎng)或者城域網(wǎng),上述通信網(wǎng)絡(luò)可以使用各種通信標(biāo)準(zhǔn)、協(xié)議及技術(shù)。
[0028]定位模塊111用于獲取電子設(shè)備100的當(dāng)前所在的地理位置。定位模塊111的實例包括但不限于全球衛(wèi)星定位系統(tǒng)(GPS)、基于無線局域網(wǎng)或者移動通信網(wǎng)的定位技術(shù)。
[0029]攝像模塊113用于拍攝照片或者視頻。拍攝的照片或者視頻可以存儲至存儲器101內(nèi),還可以通過射頻模塊109發(fā)送。
[0030]音頻模塊115向用戶提供音頻接口,其可包括一個或多個麥克風(fēng)接口、一個或多個揚聲器接口以及一個或多個耳機接口。通過音頻接口與其它設(shè)備進行音頻數(shù)據(jù)的交互。音頻數(shù)據(jù)可以存儲至存儲器101內(nèi),還可以通過射頻模塊109發(fā)送。
[0031]觸控屏幕117在電子設(shè)備100與用戶之間提供一個輸入輸出界面。具體地,用戶可通過觸控屏幕117進行輸入操作,例如點擊、觸摸、滑動等手勢操作,以使電子設(shè)備對該輸入操作進行響應(yīng)。電子設(shè)備100則將文字、圖片或者視頻任意一種形式或者組合所形成的輸出內(nèi)容通過觸控屏幕117向用戶顯示輸出。
[0032]按鍵模塊119包括至少一個按鍵,用以提供用戶向電子設(shè)備100進行輸入的接口,用戶可以通過按下不同的按鍵使電子設(shè)備100執(zhí)行不同的功能。例如,聲音調(diào)節(jié)按鍵可供用戶實現(xiàn)對電子設(shè)備100播放的聲音音量的調(diào)節(jié)。
[0033]此外,通過硬件電路或者硬件電路結(jié)合軟件指令也能同樣實現(xiàn)本發(fā)明,因此,實現(xiàn)本發(fā)明并不限于任何特定硬件電路、軟件以及兩者的組合。
[0034]請參閱圖2,在一實施例中,一種應(yīng)用中圖片內(nèi)容的顯示方法包括以下步驟:
步驟210,獲取圖片原始信息。
[0035]為了對應(yīng)用中圖片內(nèi)容進行顯示,需要進行圖片原始信息的獲取,即獲取到的圖片原始信息將會被用于進行后續(xù)的圖片內(nèi)容顯示。圖片原始信息的獲取可以通過預(yù)先構(gòu)造得到或者通過圖片解碼得到。
[0036]該圖片原始信息反映了圖片的基本信息,例如,圖片原始信息可以是圖片的顏色格式、寬、高、行字節(jié)數(shù)、像素密度、顏色表、像素緩沖區(qū)等等。
[0037]步驟230,序列化處理圖片原始信息得到序列化對象。
[0038]序列化對象是可供存儲的字節(jié)序列,通過該字節(jié)序列即可將圖片原始信息存儲至相應(yīng)的存儲空間中,以供后續(xù)使用時由存儲空間中讀取或者通過反序列化重新獲取圖片原始信息。
[0039]相應(yīng)地,序列化處理即是指將圖片原始信息按照順序轉(zhuǎn)換為字節(jié)序列。假設(shè)圖片原始信息中至少包括圖片的顏色表和像素緩沖區(qū),序列化處理則按照順序依次將顏色表和像素緩沖區(qū)轉(zhuǎn)換為字節(jié)序列。
[0040]舉例來說,圖片的顏色格式為真彩顏色格式時,像素緩沖區(qū)中存儲了每個像素的顏色所對應(yīng)的顏色值。應(yīng)當(dāng)理解,像素緩沖區(qū)由一維數(shù)組表示,一維數(shù)組中的同類型變量表示顏色值,一維數(shù)組中變量的位置表示像素的序號,通過像素緩沖區(qū)即可獲知每個像素的顏色是什么。因此,將像素緩沖區(qū)轉(zhuǎn)換為字節(jié)序列實質(zhì)就是由一維數(shù)組中將顏色值提取出來序列化存入序列化對象中。
[0041]本實施例中,序列化對象通過Parcel對象表示。
[0042]步驟250,對序列化對象進行反序列化,由序列化對象中的顏色表和像素緩沖區(qū)創(chuàng)建得到索引顏色格式的位圖對象。
[0043]本實施例中,通過反序列化處理序列化對象構(gòu)造一個合法的位圖對象,以通過該合法的位圖對象來體現(xiàn)圖片原始信息。
[0044]由于序列化對象是通過圖片原始信息序列化處理得到的,序列化對象中存儲有該圖片原始信息。在反序列化期間,通過調(diào)用反序列化接口,并傳入序列化對象作為參數(shù),即可返回一個包含了圖片原始信息的合法的位圖對象。
[0045]具體而言,圖片原始信息中包含圖片的顏色格式為索引顏色格式,則圖片原始信息中還將包含圖片的顏色表和像素緩沖區(qū)。其中,顏色表由一維數(shù)組表示,其中依序存儲了若干顏色值,每個顏色值在顏色表中的位置通過索引值表示,而像素緩沖區(qū)則存儲了每個像素的顏色所對應(yīng)的索引值,通過顏色表的查找即可獲知每個像素的顏色了。
[0046]相應(yīng)地,通過序列化處理圖片原始信息,序列化對象中存儲了圖片原始信息中的顏色格式、顏色表和像素緩沖區(qū),由此,按照反序列化邏輯,由序列化對象中的顏色表和像素緩沖區(qū)即可創(chuàng)建得到索引顏色格式的位圖對象。
[0047]需要說明的是,序列化對象中的顏色表和像素緩沖區(qū)均是以字節(jié)序列的形式表示的。
[0048]步驟270,通過位圖對象進行應(yīng)用中圖片內(nèi)容的顯示。
[0049]在創(chuàng)建得到索引顏色格式的位圖對象之后,即可實現(xiàn)通過位圖對象對應(yīng)用中圖片內(nèi)容進行顯示了。
[0050]例如,在一應(yīng)用場景中,應(yīng)用為電子書閱讀器。因為電子書閱讀器中的每一頁面都幾乎和設(shè)備所提供的屏幕尺寸相同,假設(shè)屏幕的分辨率為1280X720,在采用ARGB8888格式的位圖對象對電子書閱讀器的頁面進行顯示時,一個頁面中的所有像素所需要占用的存儲空間為1280 X 720 X 4 = 3686400個字節(jié)(bytes)。以此類推,分辨率越高,所消耗的內(nèi)存也就越多,例如,1080P的設(shè)備中,一個頁面將消耗8MB內(nèi)存。而采取索引顏色格式的位圖對象進行頁面顯示后,內(nèi)存占用率將減少為原先的1/4。
[0051]通過如上所述的過程,由于使用索引顏色格式的位圖對象進行圖片內(nèi)容的顯示,使得每個像素所占用的存儲空間減少為僅占用I個字節(jié),以此有效地降低了圖片內(nèi)容的顯示過程中所占用的存儲空間,降低了電子設(shè)備中的內(nèi)存占用率,使得因內(nèi)存不足而導(dǎo)致應(yīng)用崩潰的概率大大降低,進而提高了電子設(shè)備中應(yīng)用的功能性及穩(wěn)定性。
[0052]此外,在另一應(yīng)用場景中,應(yīng)用仍為電子書閱讀器。電子書閱讀器將通過其所攜帶的排版渲染引擎對其所要顯示的圖片內(nèi)容進行排版渲染,然后通過創(chuàng)建的位圖對象進行緩存,以便于快速地將圖片內(nèi)容顯示給用戶進行閱讀。
[0053]通過如上所述的過程,實現(xiàn)了一種空間換時間的典型處理方式,即通過位圖對象對排版渲染結(jié)果(例如電子書的當(dāng)前頁面及其前后若干頁面)的預(yù)先存儲而提高了應(yīng)用中圖片內(nèi)容的顯示效率,從而有利于電子書閱讀器中產(chǎn)生翻頁動畫的效果。
[0054]在一實施例中,步驟210包括以下步驟:
通過預(yù)先進行的圖片信息構(gòu)造獲得指定的圖片原始信息。
[0055]為了對應(yīng)用中圖片內(nèi)容進行顯示,將進行圖片信息的預(yù)先構(gòu)造,以供后續(xù)位圖對象創(chuàng)建時使用。
[0056]該預(yù)先構(gòu)造的圖片信息是按照期望圖片的基本信息而預(yù)先設(shè)置的。例如,期望圖片的顏色格式為索引顏色格式,則設(shè)置預(yù)先構(gòu)造的圖片信息中包含圖片的顏色格式為索引顏色格式。
[0057]由此,在位圖對象創(chuàng)建時,將通過進一步地指定由預(yù)先構(gòu)造的圖片信息中得到與該指定相符合的圖片原始信息。
[0058]請參閱圖3,在一實施例中,步驟210包括以下步驟:
步驟211,獲取與應(yīng)用中預(yù)置的圖片信息格式相符的圖片。
[0059]為了得到圖片原始信息,本實施例中,需要進行圖片的獲取,而獲取到的圖片是與應(yīng)用中預(yù)置的圖片信息格式相符的。
[0060]例如,在一應(yīng)用場景中,應(yīng)用為電子書閱讀器。電子書閱讀器中的圖片即為電子書的各個頁面,相應(yīng)地,電子書閱讀器中預(yù)置的圖片信息格式即為頁面的頁面信息,因此,獲取到的圖片即是與頁面的頁面信息相符的電子書中的任一頁面。
[0061]應(yīng)當(dāng)理解,按照應(yīng)用中預(yù)置的圖片信息格式進行圖片的獲取,在后續(xù)的圖片內(nèi)容的顯示過程中有利于圖片內(nèi)容更準(zhǔn)確地在應(yīng)用中進行顯示。
[0062]步驟213,通過圖片解碼器解碼圖片得到圖片原始信息。
[0063]請參閱圖4,在一實施例中,如上所述的方法還包括以下步驟:
步驟310,顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時,通過位圖對象中索引顏色格式的強制修改獲得編輯狀態(tài)的位圖對象。
[0064]為了對顯示的圖片內(nèi)容進行修改,將偵聽得到顯示的圖片內(nèi)容中所觸發(fā)的內(nèi)容修改操作。
[0065]例如,在一應(yīng)用場景中,應(yīng)用為電子書閱讀器。在電子書閱讀器所顯示的頁面中,用戶可以通過滑動電子書閱讀器中顯示的字號調(diào)整鍵對頁面的字號進行修改,或者,用戶可以通過點擊電子書閱讀器中顯示的閱讀模式選擇鍵對頁面的背景進行修改。
[0066]在顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時,將通過編輯狀態(tài)的位圖對象的獲取以實現(xiàn)對顯示的圖片內(nèi)容的修改。其中,編輯狀態(tài)的位圖對象的獲取是通過對位圖對象中索引顏色格式的強制修改完成的。
[0067]步驟330,在編輯狀態(tài)的位圖對象中修改與內(nèi)容修改操作相關(guān)的成員,通過成員的修改進行圖片內(nèi)容的修改。
[0068]如前所述,通過序列化和反序列化機制創(chuàng)建得到的位圖對象能夠用于表示圖片原始信息,應(yīng)當(dāng)理解,位圖對象的成員即與該圖片原始信息對應(yīng)。換而言之,索引顏色格式的位圖對象的成員包括圖片的顏色格式、寬、高、行字節(jié)數(shù)、像素密度、顏色表、像素緩沖區(qū)等等。
[0069]編輯狀態(tài)的位圖對象即表示位圖對象的成員是可修改的,基于此,為了對圖片內(nèi)容的修改,將對與內(nèi)容修改操作相關(guān)的成員進行修改。
[0070]舉例來說,若內(nèi)容修改操作為顏色修改操作,則被修改的位圖對象成員是像素緩沖區(qū)中每個像素的顏色所對應(yīng)的索引值。若內(nèi)容修改操作為字號修改操作,則被修改的位圖對象成員是行字節(jié)數(shù)。
[0071]在一應(yīng)用場景中,應(yīng)用為電子書閱讀器。用戶通過點擊電子書閱讀器中顯示的閱讀模式選擇鍵對頁面的背景進行修改,相應(yīng)地,電子書閱讀器中將對像素緩沖區(qū)中索引值進行修改。若用戶選擇的閱讀模式為夜間模式,而索引值O在顏色表中對應(yīng)的顏色值為(0,0,0)(即為黑色),則通過響應(yīng)顏色修改操作,像素緩沖區(qū)中索引值將被修改為0,即索引值改變顏色值保持不變,使得頁面的背景被修改為黑色。
[0072]值得一提的是,成員中圖片的寬、高、像素密度是與圖片內(nèi)容所進行顯示的屏幕的尺寸和像素密度密切相關(guān)的,一般不通過內(nèi)容修改操作進行修改。
[0073]步驟350,恢復(fù)位圖對象中索引顏色格式的強制修改,并顯示修改的圖片內(nèi)容。
[0074]在圖片內(nèi)容修改完畢之后,需要對位圖對象中索引顏色格式的強制修改進行恢復(fù),即將位圖對象的顏色格式恢復(fù)為索引顏色格式,以通過索引顏色格式的位圖對象對修改的圖片內(nèi)容進行顯示。
[0075]通過如上所述的過程,實現(xiàn)了通過索引顏色格式的位圖對象創(chuàng)建畫布,并能夠基于底層圖形庫Skia對位圖對象所創(chuàng)建的畫布進行繪制,例如,縮放、變色等,進而通過畫布的繪制向位圖對象輸出修改內(nèi)容,以此達到圖片內(nèi)容修改的目的,由此提高了應(yīng)用的繪制性能,解決了現(xiàn)有技術(shù)中底層圖形庫Skia并不支持索引顏色格式的位圖對象進行畫布的創(chuàng)建,而導(dǎo)致無法直接修改進行顯示的圖片內(nèi)容的問題。
[0076]此外,通過如上所述的過程,基于顯示的圖片內(nèi)容可以被直接修改,使得同一個位圖對象可以被反復(fù)回收重用,避免了頻繁進行位圖對象的創(chuàng)建所造成的頻繁的內(nèi)存分配和釋放,進而避免了電子設(shè)備中內(nèi)存占用過高而導(dǎo)致的系統(tǒng)性能瓶頸。
[0077]請參閱圖5,在一實施例中,步驟310包括以下步驟:
步驟311,顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時訪問位圖對象,獲取位圖對象的顏色格式。
[0078]在顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時,將通過位圖對象中索引顏色格式的強制修改獲得編輯狀態(tài)的位圖對象。
[0079]為此,在對位圖對象進行索引顏色格式的強制修改之前,需要進行位圖對象的顏色格式的獲取,以確認(rèn)位圖對象的顏色格式是否為索引顏色格式。
[0080]具體地,對位圖對象進行訪問,即訪問位圖對象的內(nèi)存布局,以定位到位圖對象中顏色格式成員的內(nèi)存地址,通過讀取該內(nèi)存地址中的存儲內(nèi)容即可獲取到位圖對象的顏色格式。
[0081]步驟313,將位圖對象的顏色格式強制修改為Alpha8格式,該Alpha8格式的位圖對象處于編輯狀態(tài)。
[0082]若位圖對象的顏色格式為索引顏色格式,為了對顯示的圖片內(nèi)容進行修改,則需要在位圖對象中進行索引顏色格式的強制修改。
[0083]進一步地,由于AlphaS格式的位圖對象中像素緩沖區(qū)的每個像素所占用的存儲空間和索引顏色格式的位圖對象是一致的,因此,位圖對象的顏色格式將被強制修改為Alpha8 格式。
[0084]如前所述,Alpha8格式一般是用作圖片合成或者圖片編輯時的掩碼,因此,Alpha8格式的位圖對象將處于編輯狀態(tài),此時,顯示的圖片內(nèi)容將可以被直接修改。
[0085]在顯示的圖片內(nèi)容修改完畢后,通過位圖對象的顏色格式的恢復(fù),恢復(fù)的位圖對象仍可以正常地進行修改的圖片內(nèi)容的顯示。
[0086]在一實施例中,內(nèi)容修改操作為顏色修改操作。如前所述,內(nèi)容修改操作包括顏色修改操作和字號修改操作,內(nèi)容修改操作可以通過位圖對象中索引顏色格式的強制修改來完成。而本實施例中,介紹的是基于索引顏色格式的位圖對象來響應(yīng)顏色修改操作的實施方式。
[0087]進一步地,如上所述的方法還包括以下步驟:
顯示的圖片內(nèi)容被觸發(fā)顏色修改操作時,在位圖對象的顏色表中進行顏色值修改,使得圖片內(nèi)容顯示的配色與顏色修改操作相符。
[0088]本實施例中,在顯示的圖片內(nèi)容被觸發(fā)顏色修改操作時,為了響應(yīng)顏色修改操作,需要獲取位圖對象中的顏色表。
[0089]具體地,對位圖對象進行訪問,即訪問位圖對象的內(nèi)存布局,以定位到位圖對象中顏色表成員的內(nèi)存地址,通過讀取該內(nèi)存地址中的存儲內(nèi)容即可獲取到位圖對象中的顏色表,進而通過顏色表中顏色值的修改來修改圖片內(nèi)容顯示的配色。
[0090]例如,在一應(yīng)用場景中,應(yīng)用為電子書閱讀器。用戶通過點擊電子書閱讀器中顯示的閱讀模式選擇鍵對頁面的背景進行修改,相應(yīng)地,電子書閱讀器中將對顏色表中的顏色值進行修改。若用戶選擇的閱讀模式為護眼模式,像素緩沖區(qū)中索引值為O,顏色表中O索引值對應(yīng)的顏色值為(255,255,255)(即為白色),而護眼綠色對應(yīng)的顏色值為(O,255,0),則通過響應(yīng)顏色修改操作,顏色表中O索引值對應(yīng)的顏色值將由(255,255,255)修改為(O,255,0),即顏色值改變索引值保持不變,使得頁面的背景被修改為護眼綠色。
[0091]通過如上所述的過程,不必對位圖對象的顏色格式進行強制修改,即可實現(xiàn)圖片內(nèi)容顯示配色的直接修改,由此提高了應(yīng)用的繪制性能。此外,通過同一個位圖對象實現(xiàn)不同的配色方案,進一步地降低了電子設(shè)備中的內(nèi)存占用率,解決了現(xiàn)有技術(shù)中不同配色方案需要相應(yīng)地創(chuàng)建多個位圖對象而導(dǎo)致占用較多內(nèi)存的問題。
[0092]請參閱圖6,在一實施例中,一種應(yīng)用中圖片內(nèi)容的顯示裝置600包括:信息獲取模塊610、序列化模塊630、反序列化模塊650及顯示模塊670。
[0093]其中,信息獲取模塊610用于獲取圖片原始信息。
[0094]序列化模塊630用于序列化處理圖片原始信息得到序列化對象。
[0095]反序列化模塊650用于對序列化對象進行反序列化,由序列化對象中的顏色表和像素緩沖區(qū)創(chuàng)建得到索引顏色格式的位圖對象。
[0096]顯示模塊670用于通過位圖對象進行應(yīng)用中圖片內(nèi)容的顯示。
[0097]在一實施例中,信息獲取模塊610包括:信息獲取單元,所述信息獲取單元用于通過預(yù)先進行的圖片信息構(gòu)造中獲得指定的圖片原始信息。
[0098]請參閱圖7,在一實施例中,所述信息獲取模塊610包括:圖片獲取單元611及圖片解碼單元613。
[0099]其中,圖片獲取單元611用于獲取與應(yīng)用中預(yù)置的圖片信息格式相符的圖片。
[0100]圖片解碼單元613用于通過圖片解碼器解碼圖片得到圖片原始信息。
[0101 ]請參閱圖8,在一實施例中,如上所述的裝置600還包括:對象獲取模塊710、成員修改模塊730及格式恢復(fù)模塊750。
[0102]其中,對象獲取模塊710用于顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時,通過位圖對象中索引顏色格式的強制修改獲得編輯狀態(tài)的位圖對象。
[0103]成員修改模塊730用于在編輯狀態(tài)的位圖對象中修改與內(nèi)容修改操作相關(guān)的成員,通過成員的修改進行圖片內(nèi)容的修改。
[0104]格式恢復(fù)模塊750用于恢復(fù)位圖對象中索引顏色格式的強制修改,顯示修改的圖片內(nèi)容。
[0105]請參閱圖9,在一實施例中,所述對象獲取模塊710包括:格式獲取單元711及格式修改單元713。
[0106]其中,格式獲取單元711用于顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時訪問位圖對象,獲取位圖對象的顏色格式。
[0107]格式修改單元713用于將位圖對象的顏色格式強制修改為Alpha8格式,該Alpha8格式的位圖對象處于編輯狀態(tài)。
[0108]在一實施例中,內(nèi)容修改操作為顏色修改操作。
[0109]進一步地,如上所述的裝置600還包括:顏色值修改模塊,所述顏色值修改模塊用于顯示的圖片內(nèi)容被觸發(fā)顏色修改操作時,在位圖對象的顏色表中進行顏色值修改,使得圖片內(nèi)容顯示的配色與顏色修改操作相符。
[0110]上述內(nèi)容,僅為本發(fā)明的較佳實施例,并非用于限制本發(fā)明的實施方案,本領(lǐng)域普通技術(shù)人員根據(jù)本發(fā)明的主要構(gòu)思和精神,可以十分方便地進行相應(yīng)的變通或修改,故本發(fā)明的保護范圍應(yīng)以權(quán)利要求書所要求的保護范圍為準(zhǔn)。
【主權(quán)項】
1.一種應(yīng)用中圖片內(nèi)容的顯示方法,其特征在于,包括: 獲取圖片原始信息; 序列化處理所述圖片原始信息得到序列化對象; 對所述序列化對象進行反序列化,由所述序列化對象中的顏色表和像素緩沖區(qū)創(chuàng)建得到索引顏色格式的位圖對象; 通過所述位圖對象進行所述應(yīng)用中圖片內(nèi)容的顯示。2.如權(quán)利要求1所述的方法,其特征在于,所述獲取圖片原始信息的步驟包括: 通過預(yù)先進行的圖片信息構(gòu)造獲得指定的圖片原始信息。3.如權(quán)利要求1所述的方法,其特征在于,所述獲取圖片原始信息的步驟包括: 獲取與應(yīng)用中預(yù)置的圖片信息格式相符的圖片; 通過圖片解碼器解碼所述圖片得到所述圖片原始信息。4.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時,通過所述位圖對象中索引顏色格式的強制修改獲得編輯狀態(tài)的位圖對象; 在所述編輯狀態(tài)的位圖對象中修改與所述內(nèi)容修改操作相關(guān)的成員,通過所述成員的修改進行圖片內(nèi)容的修改; 恢復(fù)所述位圖對象中索引顏色格式的強制修改,并顯示修改的所述圖片內(nèi)容。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時,通過所述位圖對象中索引顏色格式的強制修改獲得編輯狀態(tài)的位圖對象的步驟包括: 顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時訪問所述位圖對象,獲取所述位圖對象的顏色格式; 將所述位圖對象的顏色格式強制修改為Alpha8格式,所述Alpha8格式的位圖對象處于編輯狀態(tài)。6.如權(quán)利要求1所述的方法,其特征在于,內(nèi)容修改操作為顏色修改操作,所述方法還包括: 顯示的圖片內(nèi)容被觸發(fā)顏色修改操作時,在所述位圖對象的顏色表中進行顏色值修改,使得所述圖片內(nèi)容顯示的配色與所述顏色修改操作相符。7.—種應(yīng)用中圖片內(nèi)容的顯示裝置,其特征在于,包括: 信息獲取模塊,用于獲取圖片原始信息; 序列化模塊,用于序列化處理所述圖片原始信息得到序列化對象; 反序列化模塊,用于對所述序列化對象進行反序列化,由所述序列化對象中的顏色表和像素緩沖區(qū)創(chuàng)建得到索引顏色格式的位圖對象; 顯示模塊,用于通過所述位圖對象進行所述應(yīng)用中圖片內(nèi)容的顯示。8.如權(quán)利要求7所述的裝置,其特征在于,所述信息獲取模塊包括: 信息獲取單元,用于通過預(yù)先進行的圖片信息構(gòu)造獲得指定的圖片原始信息。9.如權(quán)利要求7所述的裝置,其特征在于,所述信息獲取模塊包括: 圖片獲取單元,用于獲取與應(yīng)用中預(yù)置的圖片信息格式相符的圖片; 圖片解碼單元,用于通過圖片解碼器解碼所述圖片得到所述圖片原始信息。10.如權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 對象獲取模塊,用于顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時,通過所述位圖對象中索引顏色格式的強制修改獲得編輯狀態(tài)的位圖對象; 成員修改模塊,用于在所述編輯狀態(tài)的位圖對象中修改與所述內(nèi)容修改操作相關(guān)的成員,通過所述成員的修改進行圖片內(nèi)容的修改; 格式恢復(fù)模塊,用于恢復(fù)所述位圖對象中索引顏色格式的強制修改,并顯示修改的所述圖片內(nèi)容。11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述對象獲取模塊包括: 格式獲取單元,用于顯示的圖片內(nèi)容被觸發(fā)內(nèi)容修改操作時訪問所述位圖對象,獲取所述位圖對象的顏色格式; 格式修改單元,用于將所述位圖對象的顏色格式強制修改為Alpha8格式,所述Alpha8格式的位圖對象處于編輯狀態(tài)。12.如權(quán)利要求7所述的裝置,其特征在于,內(nèi)容修改操作為顏色修改操作,所述裝置還包括: 顏色值修改模塊,用于顯示的圖片內(nèi)容被觸發(fā)顏色修改操作時,在所述位圖對象的顏色表中進行顏色值修改,使得所述圖片內(nèi)容顯示的配色與所述顏色修改操作相符。
【文檔編號】G06T1/60GK106056530SQ201610383178
【公開日】2016年10月26日
【申請日】2016年6月1日
【發(fā)明人】董凱
【申請人】騰訊科技(深圳)有限公司