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

窗口陰影顯示方法及裝置與流程

文檔序號(hào):12595294閱讀:413來(lái)源:國(guó)知局
窗口陰影顯示方法及裝置與流程

本發(fā)明涉及窗口顯示技術(shù)領(lǐng)域,特別是涉及一種窗口陰影顯示方法及裝置。



背景技術(shù):

窗口是用戶界面中最重要的部分,它是在屏幕上呈現(xiàn)的與一個(gè)應(yīng)用程序相對(duì)應(yīng)的矩形區(qū)域,包括框架和客戶區(qū),是用戶與產(chǎn)生該窗口的應(yīng)用程序之間的可視界面。

窗口的顯示效果影響了用戶的操作體驗(yàn),目前在操作系統(tǒng)中,應(yīng)用程序的窗口在邊框處具有陰影顯示的效果,具體是通過(guò)使窗口的邊緣區(qū)域呈現(xiàn)半透明的效果來(lái)實(shí)現(xiàn)。在Windows系統(tǒng)中,為了實(shí)現(xiàn)窗口的陰影顯示效果,傳統(tǒng)的方法是通過(guò)應(yīng)用程序編程接口將窗口設(shè)置為分層窗口(Layered Window),并使窗口的邊緣區(qū)域半透明化,從而實(shí)現(xiàn)陰影效果。但是,這種將窗口標(biāo)記為分層窗口以實(shí)現(xiàn)窗口陰影顯示的方法具有一定的弊端:分層窗口會(huì)占用大量的內(nèi)存,并且內(nèi)存占用量隨窗口面積的增加而等比增加;分層窗口的渲染性能較差,在分層窗口中實(shí)現(xiàn)的動(dòng)畫(huà)效果,會(huì)比同等情況下非分層窗口中更難以達(dá)到理想的幀率。



技術(shù)實(shí)現(xiàn)要素:

基于此,有必要針對(duì)傳統(tǒng)技術(shù)中的問(wèn)題,提供一種窗口陰影顯示方法及裝置。

本發(fā)明實(shí)施例采用以下技術(shù)方案:

一種窗口陰影顯示方法,包括以下步驟:

獲取主窗口的尺寸信息和位置信息,并根據(jù)所述主窗口的尺寸信息和位置信息確定從屬窗口的尺寸信息和位置信息;所述主窗口為非分層窗口,所述從屬窗口為分層窗口,且所述從屬窗口包括用于拼接在所述主窗口邊框處的邊框從屬窗口以及用于拼接在所述主窗口頂點(diǎn)處的頂點(diǎn)從屬窗口;

根據(jù)所述邊框從屬窗口中各像素點(diǎn)與所述主窗口上對(duì)應(yīng)邊框的距離,計(jì)算所述邊框從屬窗口中各像素點(diǎn)的透明度;根據(jù)所述頂點(diǎn)從屬窗口中各像素點(diǎn)與所述主窗口上對(duì)應(yīng)頂點(diǎn)的距離,計(jì)算所述頂點(diǎn)從屬窗口中各像素點(diǎn)的透明度;

根據(jù)所述邊框從屬窗口的尺寸信息、位置信息以及所述邊框從屬窗口中各個(gè)像素點(diǎn)的透明度,將所述邊框從屬窗口拼接顯示在所述主窗口的邊框處;根據(jù)所述頂點(diǎn)從屬窗口的尺寸信息、位置信息以及所述頂點(diǎn)從屬窗口中各個(gè)像素點(diǎn)的透明度,將所述頂點(diǎn)從屬窗口拼接顯示在所述主窗口的頂點(diǎn)處。

一種窗口陰影顯示裝置,包括:

尺寸位置信息確定模塊,用于獲取主窗口的尺寸信息和位置信息,并根據(jù)所述主窗口的尺寸信息和位置信息確定從屬窗口的尺寸信息和位置信息;所述主窗口為非分層窗口,所述從屬窗口為分層窗口,且所述從屬窗口包括用于拼接在所述主窗口邊框處的邊框從屬窗口以及用于拼接在所述主窗口頂點(diǎn)處的頂點(diǎn)從屬窗口;

透明度計(jì)算模塊,用于根據(jù)所述邊框從屬窗口中各像素點(diǎn)與所述主窗口上對(duì)應(yīng)邊框的距離,計(jì)算所述邊框從屬窗口中各像素點(diǎn)的透明度;根據(jù)所述頂點(diǎn)從屬窗口中各像素點(diǎn)與所述主窗口上對(duì)應(yīng)頂點(diǎn)的距離,計(jì)算所述頂點(diǎn)從屬窗口中各像素點(diǎn)的透明度;

拼接顯示模塊,根據(jù)所述邊框從屬窗口的尺寸信息、位置信息以及所述邊框從屬窗口中各個(gè)像素點(diǎn)的透明度,將所述邊框從屬窗口拼接顯示在所述主窗口的邊框處;根據(jù)所述頂點(diǎn)從屬窗口的尺寸信息、位置信息以及所述頂點(diǎn)從屬窗口中各個(gè)像素點(diǎn)的透明度,將所述頂點(diǎn)從屬窗口拼接顯示在所述主窗口的頂點(diǎn)處。

本發(fā)明實(shí)施例的窗口陰影顯示方法及裝置,通過(guò)分別在主窗口的各邊框、各頂點(diǎn)處拼接顯示從屬窗口,模擬出窗口陰影的顯示效果。其中,用于正常呈現(xiàn)應(yīng)用程序顯示界面的主窗口為非分層窗口,其占用系統(tǒng)內(nèi)存低,不會(huì)隨窗口面積增大而等比增加,且渲染性能較高,而從屬窗口雖然是分層窗口,但由于從屬窗口的面積相對(duì)于主窗口面積往往較小,因此從屬窗口的內(nèi)存占用有限,相比于傳統(tǒng)方法而言,本發(fā)明實(shí)施例中的方案仍在整體上減小了系統(tǒng)的內(nèi)存占用。同時(shí),本發(fā)明實(shí)施例在主窗口邊框處拼接的邊框從屬窗口,其中各像素點(diǎn)的透明度與像素點(diǎn)至對(duì)應(yīng)邊框的距離存在對(duì)應(yīng)關(guān)系,而在主窗口頂點(diǎn)處拼接的頂點(diǎn)從屬窗口,其中各像素點(diǎn)的透明度與像素點(diǎn)至對(duì)應(yīng)頂點(diǎn)的距離存在對(duì)應(yīng)關(guān)系,因此,在通過(guò)拼接顯示各邊框從屬窗口和頂點(diǎn)從屬窗口后,不僅可以實(shí)現(xiàn)窗口陰影顯示的效果,而且可以實(shí)現(xiàn)窗口的陰影顯示在拐角處圓潤(rùn)過(guò)渡,避免形成硬陰影,從而達(dá)到較佳地顯示效果。

附圖說(shuō)明

圖1是本發(fā)明的窗口陰影顯示方法在一個(gè)實(shí)施例中的流程示意圖;

圖2為本發(fā)明其中一個(gè)實(shí)施例中主窗口和從屬窗口的示意圖;

圖3為本發(fā)明其中一個(gè)實(shí)施例中主窗口屏幕坐標(biāo)的示意圖;

圖4為本發(fā)明其中一個(gè)實(shí)施例中計(jì)算像素點(diǎn)透明度的示意圖;

圖5是本發(fā)明的窗口陰影顯示方法在另一個(gè)實(shí)施例中的流程示意圖;

圖6是本發(fā)明的窗口陰影顯示裝置在一個(gè)實(shí)施例中的結(jié)構(gòu)示意圖。

具體實(shí)施方式

下面將結(jié)合較佳實(shí)施例及附圖對(duì)本發(fā)明的內(nèi)容作進(jìn)一步詳細(xì)描述。顯然,下文所描述的實(shí)施例僅用于解釋本發(fā)明,而非對(duì)本發(fā)明的限定?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。應(yīng)當(dāng)說(shuō)明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部?jī)?nèi)容。

圖1是本發(fā)明的窗口陰影顯示方法在一個(gè)實(shí)施例中的流程示意圖,如圖1所示,本實(shí)施例中的窗口陰影顯示方法包括以下步驟:

步驟S110,獲取主窗口的尺寸信息和位置信息,并根據(jù)所述主窗口的尺寸信息和位置信息確定從屬窗口的尺寸信息和位置信息;所述主窗口為非分層窗口,所述從屬窗口為分層窗口,且所述從屬窗口包括用于拼接在所述主窗口邊框處的邊框從屬窗口以及用于拼接在所述主窗口頂點(diǎn)處的頂點(diǎn)從屬窗口;

在本實(shí)施例中,主窗口是用于在操作系統(tǒng)中正常呈現(xiàn)應(yīng)用程序顯示界面的窗口,該主窗口被設(shè)置為非分層窗口。參照?qǐng)D2所示,在主窗口已被創(chuàng)建的基礎(chǔ)之上,可通過(guò)Window API創(chuàng)建從屬窗口,本實(shí)施例中的從屬窗口包括邊框從屬窗口M1、M2、M3、M4,以及頂點(diǎn)從屬窗口N1、N2、N3、N4,各從屬窗口均為分層窗口,分層窗口是Windows系統(tǒng)中定義的一種窗口實(shí)現(xiàn)方式,與非分層窗口相比,分層窗口可以呈現(xiàn)出半透明的效果。

本實(shí)施例中的尺寸信息是指窗口的長(zhǎng)度、寬度等能夠標(biāo)識(shí)窗口大小的信息,位置信息可以是窗口的屏幕坐標(biāo)。由于本實(shí)施例中的邊框從屬窗口M1、M2、M3、M4用于拼接在主窗口的對(duì)應(yīng)邊框處,而頂點(diǎn)從屬窗口N1、N2、N3、N4用于拼接在主窗口的對(duì)應(yīng)頂點(diǎn)處,因此,各從屬窗口的尺寸信息及位置信息可以根據(jù)主窗口的尺寸信息來(lái)確定。

在一種可選的實(shí)施方式中,對(duì)于邊框從屬窗口的尺寸信息,可使各邊框從屬窗口的長(zhǎng)度均與其對(duì)應(yīng)的主窗口邊框長(zhǎng)度相等,而各邊框從屬窗口的寬度均可預(yù)先設(shè)置。例如圖2所示,主窗口的長(zhǎng)度為a,寬度為b,則邊框從屬窗口M1的長(zhǎng)度為a,寬度為第一設(shè)置值d1;邊框從屬窗口M2的長(zhǎng)度為b,寬度為第二設(shè)置值d2;邊框從屬窗口M3的長(zhǎng)度為a,寬度為第三設(shè)置值d3;邊框從屬窗口M4的長(zhǎng)度為b,寬度為第四設(shè)置值d4。而對(duì)于頂點(diǎn)從屬窗口,其尺寸信息應(yīng)與相鄰的邊框從屬窗口的尺寸信息相匹配,參照?qǐng)D2所示,頂點(diǎn)從屬窗口N1的尺寸信息應(yīng)與相鄰的邊框從屬窗口M1、M4的尺寸信息相匹配,即頂點(diǎn)從屬窗口N1的長(zhǎng)度(或?qū)挾?為d4,與邊框從屬窗口M4的寬度一致,頂點(diǎn)從屬窗口N1的寬度(或長(zhǎng)度)為d1,與邊框從屬窗口M1的寬度一致。同理,頂點(diǎn)從屬窗口N2的長(zhǎng)度(或?qū)挾?為d2,寬度(或長(zhǎng)度)為d1;頂點(diǎn)從屬窗口N3的長(zhǎng)度(或?qū)挾?為d2,寬度(或長(zhǎng)度)為d3;頂點(diǎn)從屬窗口N4的長(zhǎng)度(或?qū)挾?為d4,寬度(或長(zhǎng)度)為d3。

為了達(dá)到較佳地顯示效果,各個(gè)邊框從屬窗口的寬度可保持一致,即d1=d2=d3=d4,此時(shí)各頂點(diǎn)從屬窗口的尺寸相同。

在一種可選的實(shí)施方式中,根據(jù)主窗口的位置信息確定各從屬窗口的位置信息。具體地,在顯示技術(shù)領(lǐng)域,參照?qǐng)D3所示,一般以顯示屏900左上角為坐標(biāo)原點(diǎn)O,以水平向右的方向?yàn)闄M軸正方向,與橫軸垂直向下的方向?yàn)榭v軸正方向建立坐標(biāo)系,主窗口的屏幕坐標(biāo)指的是主窗口左上角頂點(diǎn)在所建坐標(biāo)系下的位置,例如,將主窗口的屏幕坐標(biāo)記為(window.left,window.top),根據(jù)主窗口的屏幕坐標(biāo)及各從屬窗口的尺寸信息可以計(jì)算出各從屬窗口的屏幕坐標(biāo),以圖3所示的邊框從屬窗口M1、頂點(diǎn)從屬窗口N3為例,通過(guò)計(jì)算可知邊框從屬窗口M1的屏幕坐標(biāo)(即其左上角頂點(diǎn)的坐標(biāo))為(window.left,window.top-d1),頂點(diǎn)從屬窗口N3的屏幕坐標(biāo)為(window.left+a,window.top+b),其他從屬窗口的屏幕坐標(biāo)以此類推。

步驟S120,根據(jù)所述邊框從屬窗口中各像素點(diǎn)與所述主窗口上對(duì)應(yīng)邊框的距離,計(jì)算所述邊框從屬窗口中各像素點(diǎn)的透明度;根據(jù)所述頂點(diǎn)從屬窗口中各像素點(diǎn)與所述主窗口上對(duì)應(yīng)頂點(diǎn)的距離,計(jì)算所述邊框從屬窗口中各像素點(diǎn)的透明度;

在本實(shí)施例中,邊框從屬窗口中像素點(diǎn)的透明度,與像素點(diǎn)至主窗口上對(duì)應(yīng)邊框的距離存在第一對(duì)應(yīng)關(guān)系,故在確定各像素點(diǎn)至對(duì)應(yīng)邊框的距離后,就可以依據(jù)這種第一對(duì)應(yīng)關(guān)系確定像素點(diǎn)的透明度。而頂點(diǎn)從屬窗口中像素點(diǎn)的透明度,與像素點(diǎn)至主窗口上對(duì)應(yīng)頂點(diǎn)的距離存在第二對(duì)應(yīng)關(guān)系,因此在確定各像素點(diǎn)至對(duì)應(yīng)頂點(diǎn)的距離后,同樣可以依據(jù)第二對(duì)應(yīng)關(guān)系確定像素點(diǎn)的透明度。

在一種可選的實(shí)施方式中,上述的第一對(duì)應(yīng)關(guān)系和第二對(duì)應(yīng)關(guān)系時(shí)相同的,具體而言,可按照以下表達(dá)式計(jì)算邊框從屬窗口、頂點(diǎn)從屬窗口中各像素點(diǎn)的透明度:

ai=f(li)

bi=f(si)

其中,ai表示邊框從屬窗口中第i個(gè)像素點(diǎn)的透明度,li表示邊框從屬窗口中第i個(gè)像素點(diǎn)與對(duì)應(yīng)邊框的距離,bi表示邊框從屬窗口中第i個(gè)像素點(diǎn)的透明度,si表示頂點(diǎn)從屬窗口中第i個(gè)像素點(diǎn)與對(duì)應(yīng)頂點(diǎn)的距離,f為具有單調(diào)性的任意函數(shù)。

參照?qǐng)D4所示,邊框從屬窗口M4中的像素點(diǎn)P,其對(duì)應(yīng)的主窗口上的邊框?yàn)閳D4中左側(cè)邊框,P點(diǎn)至左側(cè)邊框的距離為lP,則P點(diǎn)的透明度為f(lP),頂點(diǎn)從屬窗口N2中的像素點(diǎn)Q,其對(duì)應(yīng)的主窗口上的頂點(diǎn)為圖4中的右上頂點(diǎn),Q點(diǎn)至右上頂點(diǎn)的距離為lQ,則Q點(diǎn)的透明度為f(lQ)。對(duì)于各從屬窗口中像素點(diǎn)的透明度均以此類推。

較佳地,對(duì)于邊框從屬窗口的任意一個(gè)像素點(diǎn),若其至對(duì)應(yīng)邊框的距離越大,則其透明度越大,同理,對(duì)于頂點(diǎn)從屬窗口中的任意一個(gè)像素點(diǎn),若其至對(duì)應(yīng)頂點(diǎn)的距離越大,則其透明度越大,這樣可以使得主窗口的陰影呈現(xiàn)漸變的效果。

較佳地,上述具有單調(diào)性的函數(shù)f可以是線性函數(shù)(即一次函數(shù))、二次函數(shù)、三次函數(shù)中的任意一種,使得主窗口的陰影呈現(xiàn)效果達(dá)到最佳。

在計(jì)算從屬窗口的像素點(diǎn)透明度時(shí),當(dāng)各個(gè)邊框從屬窗口的寬度均相同時(shí),各個(gè)頂點(diǎn)從屬窗口的尺寸也相同。根據(jù)對(duì)稱原則,可減少部分從屬窗口的像素點(diǎn)透明度的計(jì)算量,從而提高窗口陰影顯示的處理速度。

步驟S130,根據(jù)所述邊框從屬窗口的尺寸信息、位置信息以及所述邊框從屬窗口中各個(gè)像素點(diǎn)的透明度,將所述邊框從屬窗口拼接顯示在所述主窗口的邊框處;根據(jù)所述頂點(diǎn)從屬窗口的尺寸信息、屏幕坐標(biāo)以及所述頂點(diǎn)從屬窗口中各個(gè)像素點(diǎn)的透明度,將所述頂點(diǎn)從屬窗口拼接顯示在所述主窗口的頂點(diǎn)處。

在確定各個(gè)從屬窗口的尺寸信息、位置信息及像素點(diǎn)的透明度后,就可以將從屬窗口拼接顯示在主窗口的相應(yīng)位置,呈現(xiàn)出主窗口的陰影效果。具體的,對(duì)于任意一個(gè)邊框從屬窗口,依據(jù)其尺寸信息、位置信息及像素點(diǎn)的透明度,將其拼接顯示在主窗口的相應(yīng)邊框處,對(duì)于任意一個(gè)頂點(diǎn)從屬窗口,依據(jù)其尺寸信息、位置信息及像素點(diǎn)的透明度,將其拼接顯示在主窗口的相應(yīng)頂點(diǎn)處,這樣就可以實(shí)現(xiàn)窗口陰影的效果,而且主窗口的陰影顯示在拐角處圓潤(rùn)過(guò)渡,避免形成硬陰影,達(dá)到較佳地顯示效果。

在一種可選的實(shí)施方式中,參照?qǐng)D5所示,本實(shí)施例的窗口陰影顯示方法,還包括:

步驟S141,監(jiān)聽(tīng)主窗口的尺寸信息和位置信息的變化,更新從屬窗口的尺寸信息和位置信息。

在本實(shí)施例中,可以利用Window API監(jiān)聽(tīng)主窗口的尺寸信息和位置信息的變化情況。若Window API監(jiān)聽(tīng)到主窗口的尺寸信息和位置信息均發(fā)生變化,則可以根據(jù)變化后的主窗口的尺寸信息和位置信息來(lái)重新確定各從屬窗口的尺寸信息和位置信息,以保證各從屬窗口能正確拼接顯示在變化后的主窗口的邊框和頂點(diǎn)處,達(dá)到陰影顯示效果。通過(guò)步驟S141,主窗口的陰影顯示效果不會(huì)隨主窗口的縮放和移動(dòng)而產(chǎn)生變化,保證了窗口陰影顯示的穩(wěn)定性

另外,參照?qǐng)D3所示,若監(jiān)聽(tīng)到主窗口的位置信息未變化,而長(zhǎng)度變化量為Δ(增大或減小Δ),則邊框從屬窗口M1、M3的長(zhǎng)度也需相應(yīng)地增加或減小Δ,而其他從屬窗口的尺寸信息均不用更新,另外還需要更新頂點(diǎn)從屬窗口N2、N3,以及邊框從屬窗口M2的位置信息。若監(jiān)聽(tīng)到主窗口的位置信息未變化,而寬度變化量為Δ(增大或減小Δ),則邊框從屬窗口M2、M3的長(zhǎng)度也需相應(yīng)地增加或減小Δ,而其他從屬窗口的尺寸信息均不用更新,另外還需要更新頂點(diǎn)從屬窗口N3、N4,以及邊框從屬窗口M3的位置信息。

另外,若僅監(jiān)聽(tīng)到主窗口的位置信息發(fā)生變化,而尺寸信息未發(fā)生變化,則可根據(jù)主窗口位置信息的變化來(lái)更新各個(gè)從屬窗口的位置信息。具體的,當(dāng)用戶在顯示屏幕上移動(dòng)主窗口時(shí),監(jiān)聽(tīng)到主窗口屏幕坐標(biāo)變化這一事件,然后可相應(yīng)更新各從屬窗口的屏幕坐標(biāo)。以圖3為例,顯示屏900左上角為坐標(biāo)原點(diǎn)O、水平向右的方向?yàn)闄M軸正方向、與橫軸垂直向下的方向?yàn)榭v軸正方向建立坐標(biāo)系,Window API監(jiān)聽(tīng)到主窗口的屏幕坐標(biāo)由原來(lái)的(window.left,window.top)變化為(window.left+window.x,window.top+window.y),為了保證能夠得到與主窗口正確拼接的從屬窗口,各從屬窗口的屏幕坐標(biāo)也需要進(jìn)行更新,此時(shí)對(duì)于邊框從屬窗口和頂點(diǎn)從屬窗口的屏幕坐標(biāo),橫坐標(biāo)均需增加window.x,縱坐標(biāo)均需增加window.y,以此保證頂點(diǎn)從屬窗口能夠拼接在主窗口上的對(duì)應(yīng)頂點(diǎn)處,邊框從屬窗口能拼接在主窗口上對(duì)應(yīng)的邊框處。因此,主窗口的陰影顯示效果不會(huì)隨主窗口在顯示屏幕上的位置變化而變化,保證了窗口陰影顯示的穩(wěn)定性。

在一種可選的實(shí)施方式中,仍參照?qǐng)D5所示,本實(shí)施例的窗口陰影顯示方法,還包括:

步驟S142,若監(jiān)聽(tīng)到主窗口發(fā)生窗口最大化事件或窗口最小化事件,則隱藏已顯示的邊框從屬窗口和頂點(diǎn)從屬窗口。

在本實(shí)施方式中,可實(shí)時(shí)監(jiān)聽(tīng)主窗口是否發(fā)生樣式變換事件。樣式變換事件包括窗口最大化事件、窗口最小化事件以及窗口還原事件。當(dāng)監(jiān)聽(tīng)到主窗口發(fā)生窗口最大化事件時(shí),此時(shí)由于主窗口已全屏顯示,主窗口的邊框與顯示屏幕的邊界重合,不需要對(duì)主窗口的陰影進(jìn)行顯示,因此隱藏已顯示的各個(gè)從屬窗口,停止對(duì)從屬窗口的渲染,釋放系統(tǒng)內(nèi)存資源。當(dāng)監(jiān)聽(tīng)到主窗口發(fā)生窗口最小化事件時(shí),也不需要對(duì)主窗口的陰影進(jìn)行顯示,故隱藏已顯示的各個(gè)從屬窗口,停止對(duì)從屬窗口的渲染,從而釋放系統(tǒng)內(nèi)存資源。若監(jiān)聽(tīng)到已最大化或最小化的主窗口發(fā)生窗口還原事件,則重新顯示出各個(gè)從屬窗口,呈現(xiàn)出陰影效果。

需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)便描述,將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其它順序或者同時(shí)進(jìn)行。

根據(jù)上述本發(fā)明的窗口陰影顯示方法,本發(fā)明還提供一種窗口陰影顯示裝置,下面結(jié)合附圖及較佳實(shí)施例對(duì)本發(fā)明的窗口陰影顯示裝置進(jìn)行詳細(xì)說(shuō)明。

圖6為本發(fā)明的窗口陰影顯示裝置在一個(gè)實(shí)施例中的結(jié)構(gòu)示意圖。如圖6所示,該實(shí)窗口陰影顯示裝置,包括:

尺寸位置信息確定模塊10,用于獲取主窗口的尺寸信息和位置信息,并根據(jù)所述主窗口的尺寸信息和位置信息確定從屬窗口的尺寸信息和位置信息;所述主窗口為非分層窗口,所述從屬窗口為分層窗口,且所述從屬窗口包括用于拼接在所述主窗口邊框處的邊框從屬窗口以及用于拼接在所述主窗口頂點(diǎn)處的頂點(diǎn)從屬窗口;

透明度計(jì)算模塊20,用于根據(jù)所述邊框從屬窗口中各像素點(diǎn)與所述主窗口上對(duì)應(yīng)邊框的距離,計(jì)算所述邊框從屬窗口中各像素點(diǎn)的透明度;根據(jù)所述頂點(diǎn)從屬窗口中各像素點(diǎn)與所述主窗口上對(duì)應(yīng)頂點(diǎn)的距離,計(jì)算所述頂點(diǎn)從屬窗口中各像素點(diǎn)的透明度;

拼接顯示模塊30,根據(jù)所述邊框從屬窗口的尺寸信息、位置信息以及所述邊框從屬窗口中各個(gè)像素點(diǎn)的透明度,將所述邊框從屬窗口拼接顯示在所述主窗口的邊框處;根據(jù)所述頂點(diǎn)從屬窗口的尺寸信息、位置信息以及所述頂點(diǎn)從屬窗口中各個(gè)像素點(diǎn)的透明度,將所述頂點(diǎn)從屬窗口拼接顯示在所述主窗口的頂點(diǎn)處。

在本實(shí)施例中,主窗口是用于在操作系統(tǒng)中正常呈現(xiàn)應(yīng)用程序顯示界面的窗口,該主窗口被設(shè)置為非分層窗口。在主窗口已被創(chuàng)建的基礎(chǔ)之上,可通過(guò)Window API創(chuàng)建從屬窗口,本實(shí)施例中的從屬窗口包括邊框從屬窗口和頂點(diǎn)從屬窗口,各從屬窗口均為分層窗口,分層窗口是Windows系統(tǒng)中定義的一種窗口實(shí)現(xiàn)方式,與非分層窗口相比,分層窗口可以呈現(xiàn)出半透明的效果。

本實(shí)施例中的尺寸信息是指窗口的長(zhǎng)度、寬度等能夠標(biāo)識(shí)窗口大小的信息,位置信息可以是窗口的屏幕坐標(biāo)。由于本實(shí)施例中的邊框從屬窗口用于拼接在主窗口的對(duì)應(yīng)邊框處,而頂點(diǎn)從屬窗口用于拼接在主窗口的對(duì)應(yīng)頂點(diǎn)處,因此,各從屬窗口的尺寸信息及位置信息可以根據(jù)主窗口的尺寸信息來(lái)確定。

在一種可選的實(shí)施方式中,對(duì)于邊框從屬窗口的尺寸信息,尺寸位置信息確定模塊10可使各邊框從屬窗口的長(zhǎng)度均與其對(duì)應(yīng)的主窗口邊框長(zhǎng)度相等,各邊框從屬窗口的寬度均可預(yù)先設(shè)置,而頂點(diǎn)從屬窗口的尺寸信息應(yīng)與相鄰的邊框從屬窗口的尺寸信息相匹配。為了達(dá)到較佳地顯示效果,各個(gè)邊框從屬窗口的寬度可保持一致,此時(shí)各頂點(diǎn)從屬窗口的尺寸相同。

在一種可選的實(shí)施方式中,尺寸位置信息確定模塊10根據(jù)主窗口的位置信息確定各從屬窗口的位置信息。在顯示技術(shù)領(lǐng)域,一般以顯示屏左上角為坐標(biāo)原點(diǎn),窗口的屏幕坐標(biāo)指的是窗口左上角頂點(diǎn)在坐標(biāo)系下的位置,因此尺寸位置信息確定模塊10根據(jù)主窗口的屏幕坐標(biāo)及各從屬窗口的尺寸信息可以計(jì)算出各從屬窗口的屏幕坐標(biāo)。

在本實(shí)施例中,邊框從屬窗口中像素點(diǎn)的透明度,與像素點(diǎn)至主窗口上對(duì)應(yīng)邊框的距離存在第一對(duì)應(yīng)關(guān)系,故透明度計(jì)算模塊20在確定各像素點(diǎn)至對(duì)應(yīng)邊框的距離后,就可以依據(jù)這種第一對(duì)應(yīng)關(guān)系確定像素點(diǎn)的透明度。而頂點(diǎn)從屬窗口中像素點(diǎn)的透明度,與像素點(diǎn)至主窗口上對(duì)應(yīng)頂點(diǎn)的距離存在第二對(duì)應(yīng)關(guān)系,因此透明度計(jì)算模塊20在確定各像素點(diǎn)至對(duì)應(yīng)頂點(diǎn)的距離后,同樣可以依據(jù)第二對(duì)應(yīng)關(guān)系確定像素點(diǎn)的透明度。

根據(jù)尺寸位置信息確定模塊10確定的各個(gè)從屬窗口的尺寸信息和位置信息,以及透明度計(jì)算模塊20計(jì)算出的各個(gè)從屬窗口中像素點(diǎn)的透明度,拼接顯示模塊30就可以將各個(gè)邊框從屬窗口拼接顯示在主窗口的相應(yīng)邊框處,同時(shí)將各個(gè)頂點(diǎn)從屬窗口拼接顯示在主窗口的相應(yīng)頂點(diǎn)處,這樣就可以實(shí)現(xiàn)窗口陰影的效果,而且主窗口的陰影顯示在拐角處圓潤(rùn)過(guò)渡,避免形成硬陰影,達(dá)到較佳地顯示效果。

在一種可選的實(shí)施方式中,仍參照?qǐng)D6所示,本實(shí)施例中的窗口陰影顯示裝置還包括更新模塊40,該更新模塊40可以監(jiān)聽(tīng)主窗口的尺寸信息和位置信息的變化,從而更新各個(gè)從屬窗口的尺寸信息和位置信息。

在一種可選的實(shí)施方式中,透明度計(jì)算模塊20按照以下表達(dá)式計(jì)算邊框從屬窗口、頂點(diǎn)從屬窗口中各像素點(diǎn)的透明度:

ai=f(li)

bi=f(si)

其中,ai表示邊框從屬窗口中第i個(gè)像素點(diǎn)的透明度,li表示邊框從屬窗口中第i個(gè)像素點(diǎn)與對(duì)應(yīng)邊框的距離,bi表示邊框從屬窗口中第i個(gè)像素點(diǎn)的透明度,si表示頂點(diǎn)從屬窗口中第i個(gè)像素點(diǎn)與對(duì)應(yīng)頂點(diǎn)的距離,f為具有單調(diào)性的任意函數(shù)。

較佳的,f為線性函數(shù)、二次函數(shù)、三次函數(shù)中的任意一種。

在一種可選的實(shí)施方式中,仍參照?qǐng)D6所示,本實(shí)施例中的窗口陰影顯示裝置還包括隱藏模塊50,該隱藏模塊50可以在監(jiān)聽(tīng)到主窗口發(fā)生窗口最大化事件或者窗口最小化事件后,隱藏已顯示的邊框從屬窗口和頂點(diǎn)從屬窗口。

上述窗口陰影顯示裝置可執(zhí)行本發(fā)明實(shí)施例所提供的窗口陰影顯示方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果,至于其中各個(gè)功能模塊實(shí)現(xiàn)其功能的具體方法可參照上述方法實(shí)施例中的描述,此處不再予以贅述。

以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書(shū)記載的范圍。

以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
漾濞| 资溪县| 万宁市| 外汇| 深水埗区| 繁昌县| 东城区| 驻马店市| 海淀区| 赤城县| 北流市| 阜康市| 英超| 湘乡市| 张掖市| 尚志市| 西城区| 齐河县| 库车县| 慈利县| 巴东县| 香港| 秦安县| 景泰县| 濮阳县| 英吉沙县| 江都市| 马山县| 犍为县| 通城县| 长海县| 乌海市| 板桥市| 乳山市| 盱眙县| 玉屏| 太和县| 嘉禾县| 安顺市| 车险| 大洼县|