本發(fā)明涉及移動終端技術(shù)領(lǐng)域,尤其涉及一種桌面效果的生成方法、裝置及電子設(shè)備。
背景技術(shù):
安卓android系統(tǒng)是移動終端重要的操作系統(tǒng),隨著科技的不斷進步,該系統(tǒng)的功能也越來越強大。通過androidlauncher(安卓桌面啟動器),可以實現(xiàn)豐富的桌面效果。其中,有一種桌面效果“透明桌面”,廣受用戶歡迎,即讓系統(tǒng)桌面變得如同“透明”,直接顯示當前現(xiàn)實環(huán)境中的景象。目前,實現(xiàn)“透明桌面”的方法,主要為利用手機的后置攝像頭獲得捕捉的圖像,并將該圖像展示在手機桌面上,從而產(chǎn)生了一種“透明”的效果。具體地,通過android.hardware.camera庫里的camera和camerapreview相關(guān)類,來獲取手機攝像頭捕捉到的圖像預(yù)覽圖,通過surfaceview視圖放入安卓系統(tǒng)的wallpaperservice服務(wù),然后作為wallpaper(系統(tǒng)壁紙,即android桌面背景)顯示在手機桌面上。
但是,現(xiàn)有技術(shù)存在以下問題:由于不同手機的攝像頭模組的硬件不同,以及部分手機使用了定制的androidrom(系統(tǒng)包),因此上述手機在應(yīng)用“透明桌面”時,可能會產(chǎn)生“景象倒置”的效果,并不符合用戶所需求的效果,且健壯性、可擴展性和復用性都十分有限。
技術(shù)實現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。為此,本發(fā)明的一個目的在于提出一種桌面效果的生成方法,通過將攝像頭捕捉的圖像作為紋理圖加載至四邊形對象中,進而將生成的對應(yīng)的對象的服務(wù)替換掉原有的桌面壁紙服務(wù),從而實現(xiàn)相應(yīng)的桌面效果,符合用戶所需求的效果,且提高了該效果的健壯性、可擴展性和復用性。
本發(fā)明的第二個目的在于提出一種桌面效果的生成裝置。
本發(fā)明的第三個目的在于提出一種電子設(shè)備。
本發(fā)明的第四個目的在于提出一種非臨時性計算機可讀存儲介質(zhì)。
為了實現(xiàn)上述目的,本發(fā)明第一方面實施例提出了一種桌面效果的生成方法,包括:獲取攝像頭捕捉的圖像;
將所述圖像作為紋理圖加載至四邊形對象中,生成第一對象;
將所述第一對象加載至容器對象,生成第二對象;
將所述第二對象加入至預(yù)設(shè)服務(wù)中;
將桌面壁紙服務(wù)替換為所述預(yù)設(shè)服務(wù),并顯示所述預(yù)設(shè)服務(wù)對應(yīng)的桌面效果。
可選的,桌面效果的生成方法還包括:
在顯示所述預(yù)設(shè)服務(wù)對應(yīng)的桌面效果之后,接收用戶的觸發(fā)操作;
根據(jù)所述觸發(fā)操作顯示對應(yīng)的動畫效果。
可選的,將所述圖像作為紋理圖加載至四邊形對象中,生成第一對象,包括:基于3d引擎將所述圖像轉(zhuǎn)換紋理圖;
通過著色器程序?qū)⑺黾y理圖加載至四邊形對象中,以生成所述第一對象,所述第一對象為3d對象。
可選的,桌面效果的生成方法還包括:
在獲取攝像頭捕捉的圖像之前,判斷所述攝像頭是否開啟成功;
如果開啟成功,則獲取所述攝像頭捕捉的圖像;如果開啟失敗,則獲取缺省圖像。
可選的,桌面效果的生成方法還包括:
對所述攝像頭的多個屬性進行定義,所述屬性包括透明度設(shè)定、濾鏡選擇、前置攝像頭或后置攝像頭選擇、暫定或恢復攝像頭;根據(jù)定義后的多個屬性生成對應(yīng)的桌面效果。
本發(fā)明實施例的桌面效果的生成方法,通過將攝像頭捕捉的圖像作為紋理圖加載至四邊形對象中,進而將生成的對應(yīng)的對象的服務(wù)替換掉原有的桌面壁紙服務(wù),從而實現(xiàn)相應(yīng)的桌面效果,符合用戶所需求的效果,且提高了該效果的健壯性、可擴展性和復用性。
本發(fā)明第二方面實施例提出了一種桌面效果的生成裝置,包括:
獲取模塊,用于獲取攝像頭捕捉的圖像;
第一生成模塊,用于將所述圖像作為紋理圖加載至四邊形對象中,生成第一對象;
第二生成模塊,用于將所述第一對象加載至容器對象,生成第二對象;
處理模塊,用于將所述第二對象加入至預(yù)設(shè)服務(wù)中;
應(yīng)用模塊,用于將桌面壁紙服務(wù)替換為所述預(yù)設(shè)服務(wù),并顯示所述預(yù)設(shè)服務(wù)對應(yīng)的桌面效果。
可選的,桌面效果的生成裝置還包括:
顯示模塊,用于在顯示所述預(yù)設(shè)服務(wù)對應(yīng)的桌面效果之后,接收用戶的觸發(fā)操作;根據(jù)所述觸發(fā)操作顯示對應(yīng)的動畫效果。
可選的,所述第一生成模塊,用于:基于3d引擎將所述圖像轉(zhuǎn)換為紋理圖;
通過著色器程序?qū)⑺黾y理圖加載至四邊形對象中,以生成所述第一對象,所述第一對象為3d對象。
可選的,桌面效果的生成裝置還包括:
判斷模塊,用于在獲取攝像頭捕捉的圖像之前,判斷所述攝像頭是否開啟成功;
如果開啟成功,則所述獲取模塊獲取所述攝像頭捕捉的圖像;如果開啟失敗,則所述獲取模塊獲取缺省圖像。
可選的,桌面效果的生成裝置還包括:第三生成模塊,用于對所述攝像頭的多個屬性進行定義,所述屬性包括透明度設(shè)定、濾鏡選擇、前置攝像頭或后置攝像頭選擇、暫定或恢復攝像頭;根據(jù)定義后的多個屬性生成對應(yīng)的桌面效果。
本發(fā)明實施例的桌面效果的生成裝置,通過將攝像頭捕捉的圖像作為紋理圖加載至四邊形對象中,進而將生成的對應(yīng)的對象的服務(wù)替換掉原有的桌面壁紙服務(wù),從而實現(xiàn)相應(yīng)的桌面效果,符合用戶所需求的效果,且提高了該效果的健壯性、可擴展性和復用性。
為達上述目的,本發(fā)明第三方面實施例提出了一種電子設(shè)備,包括:
殼體和位于所述殼體內(nèi)的處理器、存儲器和顯示界面,其中,所述處理器通過讀取所述存儲器中存儲的可執(zhí)行程序代碼來運行與所述可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行如第一方面實施例所述的桌面效果的生成方法。
本發(fā)明實施例的電子設(shè)備,通過將攝像頭捕捉的圖像作為紋理圖加載至四邊形對象中,進而將生成的對應(yīng)的對象的服務(wù)替換掉原有的桌面壁紙服務(wù),從而實現(xiàn)相應(yīng)的桌面效果,符合用戶所需求的效果,且提高了該效果的健壯性、可擴展性和復用性。
為達上述目的,本發(fā)明第四方面實施例提出了一種非臨時性計算機可讀存儲介質(zhì),其上存儲有計算機程序,所述程序被處理器執(zhí)行時實現(xiàn)第一方面實施例所述的桌面效果的生成方法。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
圖1是根據(jù)本發(fā)明一個實施例的桌面效果的生成方法的流程圖;
圖2是根據(jù)本發(fā)明一個實施例的“透明桌面”的效果示意圖;
圖3是根據(jù)本發(fā)明另一個實施例的桌面效果的生成方法的流程圖;
圖4是根據(jù)本發(fā)明一個實施例的開槍射擊打碎屏幕的效果示意圖;
圖5是根據(jù)本發(fā)明一個實施例的桌面效果的生成裝置的結(jié)構(gòu)示意圖;
圖6是根據(jù)本發(fā)明另一個實施例的桌面效果的生成裝置的結(jié)構(gòu)示意圖;
圖7是根據(jù)本發(fā)明又一個實施例的桌面效果的生成裝置的結(jié)構(gòu)示意圖;
圖8是根據(jù)本發(fā)明再一個實施例的桌面效果的生成裝置的結(jié)構(gòu)示意圖;
圖9為本發(fā)明一實施例提出的電子設(shè)備的結(jié)構(gòu)示意圖。
具體實施方式
下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
下面參考附圖描述本發(fā)明實施例的桌面效果的生成方法和裝置。
圖1是根據(jù)本發(fā)明一個實施例的桌面效果的生成方法的流程圖。
如圖1所示,桌面效果的生成方法可包括:
s101,獲取攝像頭捕捉的圖像。
在本發(fā)明的一個實施例中,可利用移動終端系統(tǒng)中的camera相關(guān)類,獲取攝像頭捕捉的圖像。
s102,將圖像作為紋理圖加載至四邊形對象中,生成第一對象。
其中,第一對象為3d對象。
在本發(fā)明的一個實施例中,可基于3d引擎將圖像轉(zhuǎn)換為紋理圖,再通過著色器程序?qū)⒃摷y理圖加載至四邊形對象中,以生成第一對象。例如,利用3d引擎中加載一個24位或者32位的圖像生成紋理(texture)。再利用著色器程序,將該紋理圖加載入一個四邊形對象(rectangle)中。該四邊形對象可與終端屏幕大小一致。
其中,過著色器程序可包括glslshader(openglshadinglanguageshader),即glslshader是一種基于opengl著色語言編寫的著色器,主要在圖形卡的gpu(graphicprocessorunit,圖形處理單元)上執(zhí)行,代替固定的渲染管線的一部分,使渲染管線中不同層次具有可編程性。比如:視圖轉(zhuǎn)換、投影轉(zhuǎn)換等。glslshader可分為:vertexshader(頂點著色器)和fragment(片斷著色器),有時還會有g(shù)eometryshader(幾何著色器)。負責運行頂點著色的是頂點著色器,其可以得到當前opengl中的狀態(tài),glsl內(nèi)置變量進行傳遞。glsl其使用c語言作為基礎(chǔ)高階著色語言,避免了使用匯編語言或硬件規(guī)格語言的復雜性。
s103,將第一對象加載至容器對象,生成第二對象。
在本發(fā)明的一個實施例中,可將第一對象加載至3d引擎下的容器對象(container)作為一個子對象,即第二對象。其中,容器對象為一種允許在其內(nèi)部添加其他子對象的對象。它本身可以單獨作為對象存在,也可以作為其他對象的父級存在。容器對象的外觀屬性通常會影響在其內(nèi)部的子對象的外觀。
s104,將第二對象加入至預(yù)設(shè)服務(wù)中。
在生成第二對象之后,可將第二對象加入至定制的service,即預(yù)設(shè)服務(wù)中。
s105,將桌面壁紙服務(wù)替換為預(yù)設(shè)服務(wù),并顯示預(yù)設(shè)服務(wù)對應(yīng)的桌面效果。
在將第二對象加入至預(yù)設(shè)服務(wù)中之后,可用預(yù)設(shè)服務(wù)來替換桌面壁紙服務(wù),從而顯示預(yù)設(shè)服務(wù)對應(yīng)的桌面效果,即將移動終端系統(tǒng)中的wallpaperservice替換掉,將定制的service進行渲染顯示,從而實現(xiàn)“透明桌面”的效果。
在此之后,還可接收用戶的觸發(fā)操作,再根據(jù)觸發(fā)操作顯示對應(yīng)的動畫效果。
舉例來說,可基于opengl的3d引擎及其專屬的腳本語言xcml來實現(xiàn)“透明桌面”的效果。利用android系統(tǒng)里的camera相關(guān)類獲取后置攝像頭捕捉到的圖像。例如:可以每隔20毫秒截取一幀圖像,將獲取到的每一幀圖像利用3d引擎將它們轉(zhuǎn)換為紋理圖texture,再通過glslshader(基于opengl的著色器程序)將紋理圖添加到3d引擎中封裝的四邊形圖形的表面,生成一個3d對象,與3d引擎中的其他3d對象加入到渲染序列中,一起進行渲染,最終實現(xiàn)如圖2所示的“透明桌面”的效果。
為了解決因不同終端的攝像頭默認轉(zhuǎn)向不同導致的圖像旋轉(zhuǎn)差異問題,利用3d引擎將圖像轉(zhuǎn)換為紋理圖,可以對紋理圖對應(yīng)的3d對象進行旋轉(zhuǎn)、平移等多種操作,自由度高,用戶可根據(jù)自己的需要自行更改旋轉(zhuǎn)角度,從而實現(xiàn)桌面顯示的對象與現(xiàn)實的角度保持一致。
本發(fā)明實施例的桌面效果的生成方法,通過將攝像頭捕捉的圖像作為紋理圖加載至四邊形對象中,進而將生成的對應(yīng)的對象的服務(wù)替換掉原有的桌面壁紙服務(wù),從而實現(xiàn)相應(yīng)的桌面效果,符合用戶所需求的效果,且提高了該效果的健壯性、可擴展性和復用性。
圖3是根據(jù)本發(fā)明另一個實施例的桌面效果的生成方法的流程圖。
如圖3所示,桌面效果的生成方法可包括:
s301,在獲取攝像頭捕捉的圖像之前,判斷攝像頭是否開啟成功。
s302,如果開啟成功,則獲取攝像頭捕捉的圖像。
s303,如果開啟失敗,則獲取缺省圖像。
其中,缺省圖像可以是純色圖像,如黑色。
s304,將圖像作為紋理圖加載至四邊形對象中,生成第一對象。
在本發(fā)明的一個實施例中,可基于3d引擎將圖像轉(zhuǎn)換為紋理圖,再通過著色器程序?qū)⒃摷y理圖加載至四邊形對象中,以生成第一對象。例如,利用3d引擎中加載一個24位或者32位的圖像生成紋理(texture)。再利用著色器程序,將該紋理圖加載入一個四邊形對象(rectangle)中。該四邊形對象可與終端屏幕大小一致。
s305,將第一對象加載至容器對象,生成第二對象。
在本發(fā)明的一個實施例中,可將第一對象加載至3d引擎下的容器對象(container)作為一個子對象,即第二對象。其中,容器對象為一種允許在其內(nèi)部添加其他子對象的對象。它本身可以單獨作為對象存在,也可以作為其他對象的父級存在。容器對象的外觀屬性通常會影響在其內(nèi)部的子對象的外觀。
s306,將第二對象加入至預(yù)設(shè)服務(wù)中。
在生成第二對象之后,可將第二對象加入至定制的service,即預(yù)設(shè)服務(wù)中。
s307,將桌面壁紙服務(wù)替換為預(yù)設(shè)服務(wù),并顯示預(yù)設(shè)服務(wù)對應(yīng)的桌面效果。
在將第二對象加入至預(yù)設(shè)服務(wù)中之后,可用預(yù)設(shè)服務(wù)來替換桌面壁紙服務(wù),從而顯示預(yù)設(shè)服務(wù)對應(yīng)的桌面效果,即將移動終端系統(tǒng)中的wallpaperservice替換掉,將定制的service進行渲染顯示,從而實現(xiàn)“透明桌面”的效果。
在此之后,還可接收用戶的觸發(fā)操作,再根據(jù)觸發(fā)操作顯示對應(yīng)的動畫效果。
舉例來說,可基于opengl的3d引擎及其專屬的腳本語言xcml來實現(xiàn)“透明桌面”的效果。利用android系統(tǒng)里的camera相關(guān)類獲取后置攝像頭捕捉到的圖像。例如:可以每隔20毫秒截取一幀圖像,將獲取到的每一幀圖像利用3d引擎將它們轉(zhuǎn)換為紋理圖texture,再通過glslshader(基于opengl的著色器程序)將紋理圖添加到3d引擎中封裝的四邊形圖形的表面,生成一個3d對象,與3d引擎中的其他3d對象加入到渲染序列中,一起進行渲染,最終實現(xiàn)如圖2所示的“透明桌面”的效果。
為了解決因不同終端的攝像頭默認轉(zhuǎn)向不同導致的圖像旋轉(zhuǎn)差異問題,利用3d引擎將圖像轉(zhuǎn)換為紋理圖,可以對紋理圖對應(yīng)的3d對象進行旋轉(zhuǎn)、平移等多種操作,自由度高,用戶可根據(jù)自己的需要自行更改旋轉(zhuǎn)角度,從而實現(xiàn)桌面顯示的對象與現(xiàn)實的角度保持一致。
此外,還可以對攝像頭的多個屬性進行定義,然后根據(jù)定義后的多個屬性生成對應(yīng)的桌面效果。其中,屬性可包括透明度設(shè)定、濾鏡選擇、前置攝像頭或后置攝像頭選擇、暫定或恢復攝像頭等等。舉例來說,可利用xcml語言對屬性進行定義。xcml語言是為3d主題定制的腳本編程語言,主要集成了3d主題的各個模塊,能夠?qū)崿F(xiàn)諸如3d旋轉(zhuǎn)、移動等效果。每個模塊以一個類似xml標簽的形式定義。腳本文件和資源文件可封裝成加密的cmt文件。在3d主題應(yīng)用時,可通過解析加載cmt文件來實現(xiàn)顯示效果。例如,攝像頭相關(guān)模塊可被封裝為“camerapreview”類。該類具有多個屬性:前置攝像頭或后置攝像頭選擇“isfontcamera”用于定義調(diào)用前置攝像頭還是后置攝像頭例如可定義“isfontcamera”的值等于1設(shè)置為調(diào)用前置攝像頭,“isfontcamera”的值等于2設(shè)置為調(diào)用后置攝像頭。當“isfontcamera”=1,則可調(diào)用前置攝像頭,從而控制開啟前置攝像頭,以獲取前置攝像頭捕捉的圖像。此時,用戶正對前置攝像頭進行自拍,即可模擬出鏡子效果。濾鏡選擇“coloreffect”用于定義濾鏡效果,例如當前具有復古、小清新、黑白等8中色調(diào)的濾鏡,每種濾鏡分別取值1-8。當“coloreffect”=1時,此時可知調(diào)用的是復古濾鏡,則可開啟該濾鏡,則攝像頭顯示的效果即為復古效果。透明度設(shè)定“alpha”定義顯示的透明度,透明度可用百分比來定義。例如數(shù)值為50%,則表示半透明的畫面,半透明畫面和圖像疊加,可實現(xiàn)遮罩效果。暫定或恢復攝像頭“pausecamera”和“resumecamera”方法,定義了攝像頭的暫?;蚧謴停纭皃ausecamera”=1時,表示暫停攝像頭,此時的桌面效果為默認效果,而不開啟攝像頭,從而實現(xiàn)降低功耗。
利用3d引擎和xcml,可實現(xiàn)開槍射擊打碎屏幕的效果。通過xcml,可封裝一遮罩層,在該遮罩層上添加一個3d步槍模型。定義該模型可以隨重力傳感器檢測的數(shù)值而產(chǎn)生旋轉(zhuǎn)的效果。當用戶點擊終端屏幕時,可檢測到用戶觸摸到的位置,步槍可執(zhí)行開槍的動畫效果,同時顯示一個碎屏的圖像作為遮罩層添加到用戶點擊的位置,最終實現(xiàn)如圖4所示的開槍射擊打碎屏幕的效果。
本發(fā)明實施例的桌面效果的生成方法,通過利用3d引擎和xcml,可靈活地定義不同的桌面效果,顯示更加簡單,效果更加豐富,符合用戶需求。
為實現(xiàn)上述目的,本發(fā)明還提出一種桌面效果的生成裝置。
圖5是根據(jù)本發(fā)明一個實施例的桌面效果的生成裝置的結(jié)構(gòu)示意圖。
如圖5所示,該桌面效果的生成裝置可包括:獲取模塊110、第一生成模塊120、第二生成模塊130、處理模塊140和應(yīng)用模塊150。
獲取模塊110用于獲取攝像頭捕捉的圖像。
在本發(fā)明的一個實施例中,可利用移動終端系統(tǒng)中的camera相關(guān)類,獲取攝像頭捕捉的圖像。
第一生成模塊120用于將圖像作為紋理圖加載至四邊形對象中,生成第一對象。
可選的,第一生成模塊120用于基于3d引擎將圖像轉(zhuǎn)換為紋理圖,并通過著色器程序加載至四邊形對象中,以生成第一對象。
其中,第一對象為3d對象。
在本發(fā)明的一個實施例中,可基于3d引擎將圖像轉(zhuǎn)換為紋理圖,再通過著色器程序?qū)⒃摷y理圖加載至四邊形對象中,以生成第一對象。例如,利用3d引擎中加載一個24位或者32位的圖像生成紋理(texture)。再利用著色器程序,將該紋理圖加載入一個四邊形對象(rectangle)中。該四邊形對象可與終端屏幕大小一致。
其中,過著色器程序可包括glslshader(openglshadinglanguageshader),即glslshader是一種基于opengl著色語言編寫的著色器,主要在圖形卡的gpu(graphicprocessorunit,圖形處理單元)上執(zhí)行,代替固定的渲染管線的一部分,使渲染管線中不同層次具有可編程性。比如:視圖轉(zhuǎn)換、投影轉(zhuǎn)換等。glslshader可分為:vertexshader(頂點著色器)和fragment(片斷著色器),有時還會有g(shù)eometryshader(幾何著色器)。負責運行頂點著色的是頂點著色器,其可以得到當前opengl中的狀態(tài),glsl內(nèi)置變量進行傳遞。glsl其使用c語言作為基礎(chǔ)高階著色語言,避免了使用匯編語言或硬件規(guī)格語言的復雜性。
第二生成模塊130用于將第一對象加載至容器對象,生成第二對象。
在本發(fā)明的一個實施例中,可將第一對象加載至3d引擎下的容器對象(container)作為一個子對象,即第二對象。其中,容器對象為一種允許在其內(nèi)部添加其他子對象的對象。它本身可以單獨作為對象存在,也可以作為其他對象的父級存在。容器對象的外觀屬性通常會影響在其內(nèi)部的子對象的外觀。
處理模塊140用于將第二對象加入至預(yù)設(shè)服務(wù)中。
應(yīng)用模塊150用于將桌面壁紙服務(wù)替換為預(yù)設(shè)服務(wù),并顯示預(yù)設(shè)服務(wù)對應(yīng)的桌面效果。
在將第二對象加入至預(yù)設(shè)服務(wù)中之后,可用預(yù)設(shè)服務(wù)來替換桌面壁紙服務(wù),從而顯示預(yù)設(shè)服務(wù)對應(yīng)的桌面效果,即將移動終端系統(tǒng)中的wallpaperservice替換掉,將定制的service進行渲染顯示,從而實現(xiàn)“透明桌面”的效果。
此外,如圖6所示,本發(fā)明實施例的桌面效果的生成裝置還可包括顯示模塊160。
顯示模塊160用于在顯示預(yù)設(shè)服務(wù)對應(yīng)的桌面效果之后,接收用戶的觸發(fā)操作,并根據(jù)觸發(fā)操作顯示對應(yīng)的動畫效果。
舉例來說,可基于opengl的3d引擎及其專屬的腳本語言xcml來實現(xiàn)“透明桌面”的效果。利用android系統(tǒng)里的camera相關(guān)類獲取后置攝像頭捕捉到的圖像。例如:可以每隔20毫秒截取一幀圖像,將獲取到的每一幀圖像利用3d引擎將它們轉(zhuǎn)換為紋理圖texture,再通過glslshader(基于opengl的著色器程序)將紋理圖添加到3d引擎中封裝的四邊形圖形的表面,生成一個3d對象,與3d引擎中的其他3d對象加入到渲染序列中,一起進行渲染,最終實現(xiàn)如圖2所示的“透明桌面”的效果。
為了解決因不同終端的攝像頭默認轉(zhuǎn)向不同導致的圖像旋轉(zhuǎn)差異問題,利用3d引擎將圖像轉(zhuǎn)換為紋理圖,可以對紋理圖對應(yīng)的3d對象進行旋轉(zhuǎn)、平移等多種操作,自由度高,用戶可根據(jù)自己的需要自行更改旋轉(zhuǎn)角度,從而實現(xiàn)桌面顯示的對象與現(xiàn)實的角度保持一致。
另外,如圖7所示,本發(fā)明實施例的桌面效果的生成裝置還可包括判斷模塊170。
判斷模塊170用于在獲取攝像頭捕捉的圖像之前,判斷攝像頭是否開啟成功。
如果開啟成功,則獲取模塊110獲取攝像頭捕捉的圖像;
如果開啟失敗,則獲取模塊110獲取缺省圖像。
另外,如圖8所示,本發(fā)明實施例的桌面效果的生成裝置還可包括第三生成模塊180。
第三生成模塊180用于對攝像頭的多個屬性進行定義,并根據(jù)定義后的多個屬性生成對應(yīng)的桌面效果。
其中,屬性可包括透明度設(shè)定、濾鏡選擇、前置攝像頭或后置攝像頭選擇、暫定或恢復攝像頭等等。舉例來說,可利用xcml語言對屬性進行定義。xcml語言是為3d主題定制的腳本編程語言,主要集成了3d主題的各個模塊,能夠?qū)崿F(xiàn)諸如3d旋轉(zhuǎn)、移動等效果。每個模塊以一個類似xml標簽的形式定義。腳本文件和資源文件可封裝成加密的cmt文件。在3d主題應(yīng)用時,可通過解析加載cmt文件來實現(xiàn)顯示效果。例如,攝像頭相關(guān)模塊可被封裝為“camerapreview”類。該類具有多個屬性:前置攝像頭或后置攝像頭選擇“isfontcamera”用于定義調(diào)用前置攝像頭還是后置攝像頭例如可定義“isfontcamera”的值等于1設(shè)置為調(diào)用前置攝像頭,“isfontcamera”的值等于2設(shè)置為調(diào)用后置攝像頭。當“isfontcamera”=1,則可調(diào)用前置攝像頭,從而控制開啟前置攝像頭,以獲取前置攝像頭捕捉的圖像。此時,用戶正對前置攝像頭進行自拍,即可模擬出鏡子效果。濾鏡選擇“coloreffect”用于定義濾鏡效果,例如當前具有復古、小清新、黑白等8中色調(diào)的濾鏡,每種濾鏡分別取值1-8。當“coloreffect”=1時,此時可知調(diào)用的是復古濾鏡,則可開啟該濾鏡,則攝像頭顯示的效果即為復古效果。透明度設(shè)定“alpha”定義顯示的透明度,透明度可用百分比來定義。例如數(shù)值為50%,則表示半透明的畫面,半透明畫面和圖像疊加,可實現(xiàn)遮罩效果。暫定或恢復攝像頭“pausecamera”和“resumecamera”方法,定義了攝像頭的暫?;蚧謴?,例如“pausecamera”=1時,表示暫停攝像頭,此時的桌面效果為默認效果,而不開啟攝像頭,從而實現(xiàn)降低功耗。
利用3d引擎和xcml,可實現(xiàn)開槍射擊打碎屏幕的效果。通過xcml,可封裝一遮罩層,在該遮罩層上添加一個3d步槍模型。定義該模型可以隨重力傳感器檢測的數(shù)值而產(chǎn)生旋轉(zhuǎn)的效果。當用戶點擊終端屏幕時,可檢測到用戶觸摸到的位置,步槍可執(zhí)行開槍的動畫效果,同時顯示一個碎屏的圖像作為遮罩層添加到用戶點擊的位置,最終實現(xiàn)如圖4所示的開槍射擊打碎屏幕的效果。
本發(fā)明實施例的桌面效果的生成裝置,通過將攝像頭捕捉的圖像作為紋理圖加載至四邊形對象中,進而將生成的對應(yīng)的對象的服務(wù)替換掉原有的桌面壁紙服務(wù),從而實現(xiàn)相應(yīng)的桌面效果,符合用戶所需求的效果,且提高了該效果的健壯性、可擴展性和復用性。
為了實現(xiàn)上述實施例,本發(fā)明還提出一種電子設(shè)備。
圖9為本發(fā)明一實施例提出的電子設(shè)備的結(jié)構(gòu)示意圖。
如圖9所示,該電子設(shè)備90包括:殼體901和位于殼體901內(nèi)的處理器902、存儲器903和顯示界面904,其中,處理器902通過讀取存儲器903中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,以用于實現(xiàn)如前述實施例的桌面效果的生成方法。
本實施例的電子設(shè)備,通過將攝像頭捕捉的圖像作為紋理圖加載至四邊形對象中,進而將生成的對應(yīng)的對象的服務(wù)替換掉原有的桌面壁紙服務(wù),從而實現(xiàn)相應(yīng)的桌面效果,符合用戶所需求的效果,且提高了該效果的健壯性、可擴展性和復用性。
為了實現(xiàn)上述實施例,本發(fā)明還提出了一種非臨時性計算機可讀存儲介質(zhì),其上存儲有計算機程序,當該計算機程序被處理器執(zhí)行時,實現(xiàn)前述實施例的桌面效果的生成方法。
在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“長度”、“寬度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內(nèi)”、“外”、“順時針”、“逆時針”、“軸向”、“徑向”、“周向”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。
此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”、“固定”等術(shù)語應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通或兩個元件的相互作用關(guān)系,除非另有明確的限定。對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
在本發(fā)明中,除非另有明確的規(guī)定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接觸,或第一和第二特征通過中間媒介間接接觸。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或僅僅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或僅僅表示第一特征水平高度小于第二特征。
在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。