本發明涉及智能終端技術領域,特別涉及一種顯示分辨率的自適應顯示方法及裝置。
背景技術:
顯示分辨率,指顯示器在顯示圖像時的分辨率,分辨率是用點來衡量的,顯示器上這個“點”就是指像素(pixel)。顯示分辨率的數值是指整個顯示器所有可視面積上水平像素和垂直像素的數量。例如:800×600的分辨率,是指在整個屏幕上水平顯示800個像素,垂直顯示600個像素。
隨著智能終端的普及,各種顯示分辨率的設備越來越多,除了一些常用的如720P、1080P等外,還有一些其他比例的分辨率,寬高比例和這些常用分辨率是不一致的,那么如何在各種不同分辨率的設備中都能夠進行較好顯示,便成為當下研發工作所面臨的一大難題。
現有技術中,在不同分辨率的設備上進行顯示時,通常采用以下兩種方式解決:
方式一:按照基準分辨率等比例放大或者縮小,在目標分辨率下最大匹配,在不超出目標分辨率的情況下,將多余部分截取,然后進行居中顯示,該方式雖然可以保持所有元素都等比例縮放,但是由于不能全屏顯示,留有多余的顯示區域,顯示效果并不理想。
方式二:將屏幕按比例劃分grid(格子),所有顯示元素按照grid比例匹配,即按照基準分辨率,在目標分辨率下顯示,但是該種方式在屏幕上展示的各種元素,與基準分辨率寬高比不同的分辨率下,會產生失真,并且比例偏差越大,失真情況越明顯。
綜上可知,現有技術中常用的顯示方式要么不能全屏顯示,要么會產生失真,都無法滿足實際需求。
技術實現要素:
本發明提供一種顯示分辨率的自適應顯示方法及裝置,能夠根據顯示屏幕的實際分辨率自適應顯示,顯示效果好,不會發生失真。
一方面,本發明提供一種顯示分辨率的自適應顯示方法,包括:
獲取預設的多組基準分辨率;
獲取顯示屏幕的實際分辨率;
根據所述實際分辨率,從所述多組基準分辨率中選擇與所述實際分辨率最接近的一組基準分辨率,作為目標基準分辨率;
根據所述目標基準分辨率和所述實際分辨率,計算縮放比;
確定需要在所述顯示屏幕的實際分辨率下進行顯示的顯示元素,并獲取所述顯示元素在所述目標基準分辨率下的尺寸;
根據所述顯示元素在所述目標基準分辨率下的尺寸和所述縮放比,計算所述顯示元素在所述顯示屏幕的實際分辨率下的顯示尺寸;
確定所述顯示元素在所述實際分辨率下的顯示位置;
根據所述顯示尺寸和所述顯示位置,在所述實際分辨率下顯示所述顯示元素。
可選的,所述目標基準分辨率至少包括目標基準分辨率的寬度和目標基準分辨率的高度,所述實際分辨率至少包括所述實際分辨率的寬度和所述實際分辨率的高度,所述根據所述目標基準分辨率和所述實際分辨率,計算縮放比,包括:
分別計算所述實際分辨率的寬度與所述目標基準分辨率的寬度之間的寬度比值,以及所述實際分辨率的高度與所述目標基準分辨率的高度之間的高度比值;
根據所述寬度比值和所述高度比值,計算所述縮放比。
可選的,所述根據所述寬度比值和所述高度比值,計算縮放比,包括:
計算所述寬度比值和所述高度比值的平均值,將所述平均值作為所述縮放比;或者,
比較所述寬度比值和所述高度比值的大小,將所述寬度比值和所述高度比值中較小的比值,作為所述縮放比。
可選的,所述確定所述顯示元素在所述實際分辨率下的顯示位置,包括:
從預先設計的顯示效果圖庫獲取與所述目標基準分辨率相適應的目標顯示效果圖,所述顯示效果圖庫中包含多組顯示效果圖,每組所述顯示效果圖分別與每種基準分辨率相適應;
根據所述目標顯示效果圖,確定所述顯示元素的錨點;
確定所述顯示屏幕的參考點,并記錄所述參考點在所述目標基準分辨率下的坐標值;
獲取所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的坐標差;
根據所述參考點在所述目標基準分辨率下的坐標值以及所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的坐標差,計算所述顯示元素在所述實際分辨率下的錨點坐標;
根據所述錨點坐標,確定所述顯示元素在所述實際分辨率下的顯示位置。
可選的,所述根據所述參考點在所述目標基準分辨率下的坐標值以及所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的坐標差,計算所述顯示元素在所述實際分辨率下的錨點坐標,包括:
x=XReference+XDistanceBase*Scale;
y=YReference+YDistanceBase*Scale;
其中,x指所述顯示元素在所述實際分辨率下的錨點的橫坐標和y指所述顯示元素在所述實際分辨率下的錨點的縱坐標;Scale表示縮放比;XReference指所述參考點在所述目標基準分辨率下的橫坐標,YReference指所述參考點在所述目標基準分辨率下的縱坐標;XDistanceBase指所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的橫坐標差,YDistanceBase指所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的縱坐標差。
另一方面,本發明提供一種顯示分辨率的自適應顯示裝置,包括:
第一獲取單元,用于獲取預設的多組基準分辨率;
第二獲取單元,用于獲取顯示屏幕的實際分辨率;
選擇單元,用于根據所述實際分辨率,從所述多組基準分辨率中選擇與所述實際分辨率最接近的一組基準分辨率,作為目標基準分辨率;
第一計算單元,用于根據所述目標基準分辨率和所述實際分辨率,計算縮放比;
第一確定單元,用于確定需要在所述顯示屏幕的實際分辨率下進行顯示的顯示元素;
第三獲取單元,用于獲取所述顯示元素在所述目標基準分辨率下的尺寸;
第二計算單元,用于根據所述顯示元素在所述目標基準分辨率下的尺寸和所述縮放比,計算所述顯示元素在所述顯示屏幕的實際分辨率下的顯示尺寸;
第二確定單元,用于確定所述顯示元素在所述實際分辨率下的顯示位置;
顯示單元,用于根據所述顯示尺寸和所述顯示位置,在所述實際分辨率下顯示所述顯示元素。
可選的,所述目標基準分辨率至少包括目標基準分辨率的寬度和目標基準分辨率的高度,所述實際分辨率至少包括所述實際分辨率的寬度和所述實際分辨率的高度,所述第一計算單元,包括:
第一計算模塊,用于分別計算所述實際分辨率的寬度與所述目標基準分辨率的寬度之間的寬度比值,以及所述實際分辨率的高度與所述目標基準分辨率的高度之間的高度比值;
第二計算模塊,用于根據所述寬度比值和所述高度比值,計算所述縮放比。
可選的,所述第二計算模塊,用于計算所述寬度比值和所述高度比值的平均值,將所述平均值作為所述縮放比;或者,
所述第二計算模塊,用于比較所述寬度比值和所述高度比值的大小,將所述寬度比值和所述高度比值中較小的比值,作為所述縮放比。
可選的,所述第二確定單元,包括:
第一獲取模塊,用于從預先設計的顯示效果圖庫獲取與所述目標基準分辨率相適應的目標顯示效果圖,所述顯示效果圖庫中包含多組顯示效果圖,每組所述顯示效果圖分別與每種基準分辨率相適應;
第一確定模塊,用于根據所述目標顯示效果圖,確定所述顯示元素的錨點;
第二確定模塊,用于確定所述顯示屏幕的參考點;
記錄模塊,用于記錄所述參考點在所述目標基準分辨率下的坐標值;
第二獲取模塊,用于獲取所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的坐標差;
計算模塊,用于根據所述參考點在所述目標基準分辨率下的坐標值以及所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的坐標差,計算所述顯示元素在所述實際分辨率下的錨點坐標;
第三確定模塊,用于根據所述錨點坐標,確定所述顯示元素在所述實際分辨率下的顯示位置。
可選的,所述根據所述參考點在所述目標基準分辨率下的坐標值以及所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的坐標差,計算所述顯示元素在所述實際分辨率下的錨點坐標,包括:
x=XReference+XDistanceBase*Scale;
y=YReference+YDistanceBase*Scale;
其中,x指所述顯示元素在所述實際分辨率下的錨點的橫坐標和y指所述顯示元素在所述實際分辨率下的錨點的縱坐標;Scale表示縮放比;XReference指所述參考點在所述目標基準分辨率下的橫坐標,YReference指所述參考點在所述目標基準分辨率下的縱坐標;XDistanceBase指所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的橫坐標差,YDistanceBase指所述顯示元素的錨點在所述目標基準分辨率下與所述參考點之間的縱坐標差。
本發明實施例提供的顯示分辨率的自適應顯示方法及裝置,獲取預設的多組基準分辨率;獲取顯示屏幕的實際分辨率;根據實際分辨率,從多組基準分辨率中選擇與實際分辨率最接近的一組基準分辨率,作為目標基準分辨率;根據目標基準分辨率和實際分辨率,計算縮放比;確定需要在顯示屏幕的實際分辨率下進行顯示的顯示元素,并獲取顯示元素在目標基準分辨率下的尺寸;根據顯示元素在目標基準分辨率下的尺寸和縮放比,計算顯示元素在顯示屏幕的實際分辨率下的顯示尺寸;確定顯示元素在實際分辨率下的顯示位置;根據顯示尺寸和顯示位置,在實際分辨率下顯示顯示元素。該方法及裝置,通過設置多組基準分辨率,通過選擇與實際分辨率接近的基準分辨率進行縮放比計算,能夠適應于各種分辨率差距大的顯示屏幕,確保自適應后的顯示效果良好,不失真。
本發明的其它特征和優點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
附圖說明
附圖用來提供對本發明的進一步理解,并且構成說明書的一部分,與本發明的實施例一起用于解釋本發明,并不構成對本發明的限制。在附圖中:
圖1為本發明實施例提供的一種顯示分辨率的自適應顯示方法的流程圖;
圖2為本發明實施例提供的一種顯示分辨率的自適應顯示裝置的框圖;
圖3為本發明實施例提供的一種顯示屏幕上的多個參考點的示意圖;
圖4為本發明實施例提供的一種顯示元素的錨點和一個參考點的位置坐標的示意圖;
圖5為本發明實施例提供的一種錨點在顯示元素中的相對位置的示意圖;
圖6為本發明實施例提供的一種自適應顯示后的顯示效果示意圖。
具體實施方式
以下結合附圖對本發明的優選實施例進行說明,應當理解,此處所描述的優選實施例僅用于說明和解釋本發明,并不用于限定本發明。
本發明實施例中涉及的專業術語和縮略語如下:
QVGA:320×240的分辨率
WQVGA:400×240的分辨率
HVGA:480×320的分辨率
VGA:640×480的分辨率
WVGA:800×480的分辨率
FWVGA:854×480的分辨率
720P:1280×720的分辨率
1080P:1920×1080的分辨率
隨著智能終端的普及,各種顯示分辨率的設備越來越多,大小參差不齊,除了一些常用的如720P、1080P等外,還有一些較低的分辨率,如854×480、480×320等其他分辨率。如何在這些比例,尤其是分辨率的大小差異很大的設備上,都可以正常顯示,并達到一個較好的效果,一直是困擾各應用開發的一道難題。
為解決以上問題,本發明實施例提供一種顯示分辨率的自適應顯示方法,如圖1所示,包括步驟S101-步驟S108:
步驟S101:獲取預設的多組基準分辨率;
步驟S102:獲取顯示屏幕的實際分辨率;
步驟S103:根據實際分辨率,從多組基準分辨率中選擇與實際分辨率最接近的一組基準分辨率,作為目標基準分辨率;
步驟S104:根據目標基準分辨率和實際分辨率,計算縮放比;
步驟S105:確定需要在顯示屏幕的實際分辨率下進行顯示的顯示元素,并獲取顯示元素在目標基準分辨率下的尺寸;
步驟S106:根據顯示元素在目標基準分辨率下的尺寸和縮放比,計算顯示元素在顯示屏幕的實際分辨率下的顯示尺寸;
步驟S107:確定顯示元素在實際分辨率下的顯示位置;
步驟S108:根據顯示尺寸和顯示位置,在實際分辨率下顯示顯示元素。
在另外一個實施例中,上述目標基準分辨率至少包括目標基準分辨率的寬度和目標基準分辨率的高度,上述實際分辨率至少包括上述實際分辨率的寬度和實際分辨率的高度,根據目標基準分辨率和實際分辨率,計算縮放比,包括:
分別計算實際分辨率的寬度與目標基準分辨率的寬度之間的寬度比值,以及實際分辨率的高度與目標基準分辨率的高度之間的高度比值;
根據寬度比值和高度比值,計算縮放比。
在另外一個實施例中,上述根據寬度比值和高度比值,計算縮放比,包括:
計算寬度比值和高度比值的平均值,將平均值作為縮放比;或者,
比較寬度比值和高度比值的大小,將寬度比值和高度比值中較小的比值,作為縮放比。
在另外一個實施例中,上述確定顯示元素在實際分辨率下的顯示位置,包括:
從預先設計的顯示效果圖庫獲取與目標基準分辨率相適應的目標顯示效果圖,其中,顯示效果圖庫中包含多組顯示效果圖,每組所述顯示效果圖分別與每種基準分辨率相適應;
根據目標顯示效果圖,確定顯示元素的錨點;
確定顯示屏幕的參考點,并記錄參考點在目標基準分辨率下的坐標值;
獲取顯示元素的錨點在目標基準分辨率下與參考點之間的坐標差;
根據參考點在目標基準分辨率下的坐標值以及顯示元素的錨點在目標基準分辨率下與參考點之間的坐標差,計算顯示元素在實際分辨率下的錨點坐標;
根據錨點坐標,確定顯示元素在實際分辨率下的顯示位置。
在另外一個實施例中,上述根據參考點在目標基準分辨率下的坐標值以及顯示元素的錨點在目標基準分辨率下與參考點之間的坐標差,計算顯示元素在實際分辨率下的錨點坐標,包括:
x=XReference+XDistanceBase*Scale;
y=YReference+YDistanceBase*Scale;
其中,x指顯示元素在實際分辨率下的錨點的橫坐標和y指顯示元素在實際分辨率下的錨點的縱坐標;Scale表示縮放比;XReference指參考點在目標基準分辨率下的橫坐標,YReference指參考點在目標基準分辨率下的縱坐標;XDistanceBase指顯示元素的錨點在目標基準分辨率下與參考點之間的橫坐標差,YDistanceBase指顯示元素的錨點在目標基準分辨率下與參考點之間的縱坐標差。
本發明實施例通過預先設計多組基準分辨率,包含高低或高中低等多種分辨率,至少包含兩組,以便至少覆蓋高低分辨率,分別記錄其對應的寬度和高度;
美術設計人員,分別設計與每種基準分辨率相適應的顯示效果圖;
應用程序在啟動后,獲取當前設備的實際分辨率,并且記錄其寬度和高度,根據實際分辨率從多組基準分辨率中選擇一組基準分辨率作為目標基準分辨率,以保證能夠達到最好的顯示效果,減少失真的發生;
計算實際分辨率與選擇的目標基準分辨率的高度比值和寬度比值,進而計算得到縮放比(Scale),以下實施例中將高度比值和寬度比值中較小的作為Scale,也稱為最小寬高比Scale,以下Scale均代表此含義。
除了背景拉伸縮放外,對各顯示界面場景的所有顯示元素,都做如下處理:
獲取在基準分辨率下的顯示元素的尺寸,乘以上述計算得到的Scale,得到顯示元素在顯示屏幕的實際分辨率下的顯示尺寸;
獲取預先設計的顯示效果圖,根據顯示效果圖,確定顯示元素的錨點(對齊位置),其中,顯示效果圖是美術設計人員在基準分辨率下預先設計的與基準分辨率相適應的顯示圖片;
在屏幕上確定一個或多個參考點,其中,參考點例如可以選取由上、中、下,以及左、中、右相交,形成的九個點,在本實施例中可以將位于中間位置的中心點作為參考點;
根據美術效果圖,確定所述顯示元素在所述顯示屏幕的實際分辨率下的錨點(對齊點),在實際分辨率上參考點的相對位置,其中,相對位置中橫縱間距為:基準分辨率間距乘以Scale;
將應用的每個界面和場景,按照上述完成適配,并且在分辨率發生變化時,重新執行,完成整個應用的分辨率自適應。應用開發一次,在所有的設備上都可以完美適配,顯示效果好,不失真。
以下參考圖3-圖6對本發明實施例涉及的相關內容進行進一步詳細說明:
本發明實施例中的顯示分辨率自適應機制,實現步驟包括:應用自適應和場景自適應,其中,應用自適應中包括所有場景的場景自適應。
以下實施例中對應用自適應的主要步驟介紹如下,主要包括步驟S301-步驟S309:
步驟S301:設定幾組基準分辨率,至少包含高低兩組,每組分辨率寬高分別記為Wbase,Hbase。如高分辨率設定為當前市面主流的分辨率(如720P),記錄其寬WBase為1280、高HBase為720;低分辨率設定為854*480,記錄其寬WBase為854、高HBase為480;
步驟S302:美術設計人員,按照上述基準分辨率,分別設計與每種基準分辨率相適應的效果顯示圖,如jpg、png等,即每種分辨率有其對應的美術資源;效果示意圖如圖4所示。如上述示例,分別設計1280*720和854*480兩種分辨率的美術資源。
步驟S303:應用啟動后,獲取當前設備的實際分辨率,記錄其寬為WReal,高為HReal,按照一定的算法和規則,選擇最接近的基準分辨率,作為目標基準分辨率,下列基準分辨率均指經過此過程選擇后的目標基準分辨率。其中,算法和規則可以設定如下,從低的基準分辨率到高的基準分辨率,依次判斷WReal小于等于WBase*1.2和HReal小于等于HBase*1.2,如果成立,則選擇此基準分辨率為目標基準分辨率,如果全部比較后都不成立,則取最后最高的基準分辨率為目標基準分辨率。此過程根據實際需要,算法和比例值可以調整。
步驟S304:分別計算與基準分辨率的寬度比值和高度比值;WScale=WReal/WBase;HScale=HReal/HBase;最后使用這兩個寬度比值和高度比值的最小值,Scale=Min(WScale,HScale);
步驟S305:選定當前場景;
步驟S306:當前場景自適應處理;
步驟S307:遍歷應用的每個場景,判斷所有場景是否處理完畢;如果是,則跳轉至步驟S308,結束應用分辨率自適應處理,否則,跳轉至步驟S307;
步驟S308:至下一場景,將下一場景選定為當前分辨率自適應處理場景;
步驟S309:應用分辨率自適應處理結束。
以下對場景分辨率自適應的過程說明如下:
除了背景拉伸縮放外,各顯示界面場景的所有顯示元素,做如下處理:
步驟S401:場景分辨率自適應處理開始;
步驟S402:選定當前顯示元素;
步驟S403:顯示元素尺寸乘以上述S303中計算得到的Scale;
步驟S404:設置當前顯示元素的錨點,參考美術提供的顯示效果圖,設定顯示元素的對齊位置(即錨點),也就是選擇此元素的什么位置做對齊點,如其中心點或左上頂點等,元素內部錨點的位置比例,橫向左邊的相對比例xs和縱向下邊的相對比例ys,取值在0~1之間,其中,錨點示意圖如圖5所示;
步驟S405:選擇參考點,一般可以選取由上、中、下,以及左、中、右相交,形成的九個點,如圖3所示;
步驟S406:選定與屏幕最為接近的參考點,其橫坐標和縱坐標為XReference、YReference,并且設定顯示元素錨點的位置,即x和y坐標;假定在基準分辨率即效果圖中,其與參考點的距離為橫坐標XDistanceBase,縱坐標YDistanceBase;則計算和設置x和y坐標如下:
x=XReference+XDistanceBase*Scale
y=YReference+YDistanceBase*Scale
其中,自適應性適配后的顯示效果示意圖如圖6所示;
步驟S407:判斷當前顯示場景中,所有元素是否處理完畢,如果是至S409,否則至S408;
步驟S408:至下一元素,將下一元素設定為當前分辨率自適應處理元素;
步驟S409:當前場景分辨率自使用處理完畢。
本發明實施例提供的顯示分辨率的自適應顯示方法,獲取預設的多組基準分辨率;獲取顯示屏幕的實際分辨率;根據實際分辨率,從多組基準分辨率中選擇與實際分辨率最接近的一組基準分辨率,作為目標基準分辨率;根據目標基準分辨率和實際分辨率,計算縮放比;確定需要在顯示屏幕的實際分辨率下進行顯示的顯示元素,并獲取顯示元素在目標基準分辨率下的尺寸;根據顯示元素在目標基準分辨率下的尺寸和縮放比,計算顯示元素在顯示屏幕的實際分辨率下的顯示尺寸;確定顯示元素在實際分辨率下的顯示位置;根據顯示尺寸和顯示位置,在實際分辨率下顯示顯示元素。該方法,通過設置多組基準分辨率,通過選擇與實際分辨率接近的基準分辨率進行縮放比計算,能夠適應于各種分辨率差距大的顯示屏幕,確保自適應后的顯示效果良好,不失真。
本發明實施例提供一種顯示分辨率的自適應顯示裝置,如圖2所示,包括:
第一獲取單元201,用于獲取預設的多組基準分辨率;
第二獲取單元202,用于獲取顯示屏幕的實際分辨率;
選擇單元203,用于根據實際分辨率,從多組基準分辨率中選擇與實際分辨率最接近的一組基準分辨率,作為目標基準分辨率;
第一計算單元204,用于根據目標基準分辨率和實際分辨率,計算縮放比;
第一確定單元205,用于確定需要在顯示屏幕的實際分辨率下進行顯示的顯示元素;
第三獲取單元206,用于獲取顯示元素在目標基準分辨率下的尺寸;
第二計算單元207,用于根據顯示元素在目標基準分辨率下的尺寸和縮放比,計算顯示元素在顯示屏幕的實際分辨率下的顯示尺寸;
第二確定單元208,用于確定顯示元素在實際分辨率下的顯示位置;
顯示單元209,用于根據顯示尺寸和顯示位置,在實際分辨率下顯示顯示元素。
在一個實施例中,上述目標基準分辨率至少包括目標基準分辨率的寬度和目標基準分辨率的高度,實際分辨率至少包括實際分辨率的寬度和實際分辨率的高度,其中,第一計算單元,包括:
第一計算模塊,用于分別計算實際分辨率的寬度與目標基準分辨率的寬度之間的寬度比值,以及實際分辨率的高度與目標基準分辨率的高度之間的高度比值;
第二計算模塊,用于根據寬度比值和高度比值,計算縮放比。
在另外一個實施例中,上述第二計算模塊,用于計算寬度比值和高度比值的平均值,將平均值作為縮放比;或者,
第二計算模塊,用于比較寬度比值和高度比值的大小,將寬度比值和高度比值中較小的比值,作為縮放比。
在另外一個實施例中,上述第二確定單元,包括:
第一獲取模塊,用于從預先設計的顯示效果圖庫獲取與目標基準分辨率相適應的目標顯示效果圖,其中,顯示效果圖庫中包含多組顯示效果圖,每組顯示效果圖分別與每種基準分辨率相適應;
第一確定模塊,用于根據目標顯示效果圖,確定顯示元素的錨點;
第二確定模塊,用于確定顯示屏幕的參考點;
記錄模塊,用于記錄參考點在目標基準分辨率下的坐標值;
第二獲取模塊,用于獲取顯示元素的錨點在目標基準分辨率下與參考點之間的坐標差;
計算模塊,用于根據參考點在目標基準分辨率下的坐標值以及顯示元素的錨點在目標基準分辨率下與參考點之間的坐標差,計算顯示元素在實際分辨率下的錨點坐標;
第三確定模塊,用于根據錨點坐標,確定顯示元素在實際分辨率下的顯示位置。
在另外一個實施例中,上述根據參考點在目標基準分辨率下的坐標值以及顯示元素的錨點在目標基準分辨率下與參考點之間的坐標差,計算顯示元素在實際分辨率下的錨點坐標,包括:
x=XReference+XDistanceBase*Scale;
y=YReference+YDistanceBase*Scale;
其中,x指顯示元素在實際分辨率下的錨點的橫坐標和y指顯示元素在實際分辨率下的錨點的縱坐標;Scale表示縮放比;XReference指參考點在目標基準分辨率下的橫坐標,YReference指參考點在目標基準分辨率下的縱坐標;XDistanceBase指顯示元素的錨點在目標基準分辨率下與參考點之間的橫坐標差,YDistanceBase指顯示元素的錨點在目標基準分辨率下與參考點之間的縱坐標差。
本發明實施例提供的顯示分辨率的自適應顯示裝置,獲取預設的多組基準分辨率;獲取顯示屏幕的實際分辨率;根據實際分辨率,從多組基準分辨率中選擇與實際分辨率最接近的一組基準分辨率,作為目標基準分辨率;根據目標基準分辨率和實際分辨率,計算縮放比;確定需要在顯示屏幕的實際分辨率下進行顯示的顯示元素,并獲取顯示元素在目標基準分辨率下的尺寸;根據顯示元素在目標基準分辨率下的尺寸和縮放比,計算顯示元素在顯示屏幕的實際分辨率下的顯示尺寸;確定顯示元素在實際分辨率下的顯示位置;根據顯示尺寸和顯示位置,在實際分辨率下顯示顯示元素。該裝置,通過設置多組基準分辨率,通過選擇與實際分辨率接近的基準分辨率進行縮放比計算,能夠適應于各種分辨率差距大的顯示屏幕,確保自適應后的顯示效果良好,不失真。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器和光學存儲器等)上實施的計算機程序產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。