一種安卓系統的圖片顯示裝置和方法
【專利摘要】本發明公開了一種圖片顯示裝置和方法,該裝置包括:獲取模塊、計算模塊和顯示模塊。獲取模塊,用于獲取當前使用終端的分辨率。計算模塊,用于將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,待顯示原圖具有該標準分辨率。顯示模塊,用于將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上。通過本發明實施例的方案,減少了圖片的占有資源,減小了APK的大小,降低了工作復雜度,提升了工作效率。
【專利說明】
一種安卓系統的圖片顯示裝置和方法
技術領域
[0001]本發明涉及終端應用領域,尤其涉及一種安卓系統的圖片顯示裝置和方法。
【背景技術】
[0002]目前,安卓Android應用的開發過程中會涉及到很多的圖片資源,這些圖片資源占用了很多的磁盤空間,圖片的多少直接決定了安卓安裝包APK的大小,由于目前手機的分辨率多種多樣,因此如果要開發一款通用型很強的應用,需要適配各種分辨率的手機,在Android應用開發過程中,最通用的方式就是為每個分辨率單獨設置一個目錄,比如,市場上有五種通用的分辨率,那么就需要設置與這五種通用的分辨率相對應的五個目錄,一張圖片資源就需要拷貝五份,分別放到五個目錄下面,這樣就導致了很多重復的圖片資源,也增加了開發的復雜度。
【發明內容】
[0003]本發明的主要目的在于提出一種安卓系統的圖片顯示裝置和方法,減少了圖片的占有資源,減小了 APK的大小,降低了工作復雜度,提升了工作效率。
[0004]為實現上述目的,本發明提供的一種圖片顯示裝置,該裝置包括:獲取模塊、計算模塊和顯示模塊。
[0005]獲取模塊,用于獲取當前使用終端的分辨率。
[0006]計算模塊,用于將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,待顯示原圖具有該標準分辨率。
[0007]顯示模塊,用于將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上。
[0008]可選地,該裝置還包括:比較模塊。
[0009]比較模塊,用于在計算模塊將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算之前,將當前使用終端的分辨率與標準分辨率進行比較。
[0010]顯示模塊,還用于當當前使用終端的分辨率與標準分辨率相同時,將待顯示原圖以標準分辨率顯示在終端的顯示界面上。
[0011]計算模塊,還用于當當前使用終端的分辨率與標準分辨率不相同時,將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算。
[0012]可選地,計算模塊將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比包括:
[0013]將獲取的分辨率中的橫向像素點的個數與標準分辨率中的橫向像素點的個數相比,并將兩個橫向像素點的個數的比值作為待顯示原圖的橫向縮放比。
[0014]將獲取的分辨率中的縱向像素點的個數與標準分辨率中的縱向像素點的個數相比,并將兩個縱向像素點的個數的比值作為待顯示原圖的縱向縮放比。
[0015]可選地,計算模塊確定待顯示原圖的縮放比還包括:
[0016]將橫向縮放比與縱向縮放比進行比較。
[0017]當橫向縮放比小于或等于縱向縮放比時,將橫向縮放比作為待顯示原圖的縮放比。
[0018]當橫向縮放比大于縱向縮放比時,將縱向縮放比作為待顯示原圖的縮放比。
[0019]可選地,顯示模塊將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上包括:
[0020]當待顯示原圖的縮放比為橫向縮放比時,將待顯示原圖在橫向和縱向上分別以橫向縮放比進行縮放,獲得縮放后的圖片,將縮放后的圖片顯示在終端的顯示界面上。或者,
[0021]當待顯示原圖的縮放比為縱向縮放比時,將待顯示原圖在橫向和縱向上分別以縱向縮放比進行縮放,獲得縮放后的圖片,將縮放后的圖片顯示在終端的顯示界面上。
[0022 ]為實現上述目的,本發明還提出了一種圖片顯示方法,該方法包括:
[0023]獲取當前使用終端的分辨率。
[0024]將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,待顯示原圖具有該標準分辨率。
[0025]將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上。
[0026]可選地,該方法還包括:
[0027]在將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算之前,將當前使用終端的分辨率與標準分辨率進行比較。
[0028]當當前使用終端的分辨率與標準分辨率相同時,將待顯示原圖以標準分辨率顯示在終端的顯示界面上。
[0029]當當前使用終端的分辨率與標準分辨率不相同時,將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算。
[0030]可選地,將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比包括:
[0031]將獲取的分辨率中的橫向像素點的個數與標準分辨率中的橫向像素點的個數相比,并將兩個橫向像素點的個數的比值作為待顯示原圖的橫向縮放比。
[0032]將獲取的分辨率中的縱向像素點的個數與標準分辨率中的縱向像素點的個數相比,并將兩個縱向像素點的個數的比值作為待顯示原圖的縱向縮放比。
[0033]可選地,確定待顯示原圖的縮放比還包括:
[0034]將橫向縮放比與縱向縮放比進行比較。
[0035]當橫向縮放比小于或等于縱向縮放比時,將橫向縮放比作為待顯示原圖的縮放比。
[0036]當橫向縮放比大于縱向縮放比時,將縱向縮放比作為待顯示原圖的縮放比。
[0037]可選地,將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上包括:
[0038]當待顯示原圖的縮放比為橫向縮放比時,將待顯示原圖在橫向和縱向上分別以橫向縮放比進行縮放,獲得縮放后的圖片,將縮放后的圖片顯示在終端的顯示界面上。或者,
[0039]當待顯示原圖的縮放比為縱向縮放比時,將待顯示原圖在橫向和縱向上分別以縱向縮放比進行縮放,獲得縮放后的圖片,將縮放后的圖片顯示在終端的顯示界面上。
[0040]本申請提出了一種圖片顯示裝置和方法,該裝置包括:獲取模塊、計算模塊和顯示模塊。獲取模塊,用于獲取當前使用終端的分辨率。計算模塊,用于將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,待顯示原圖具有該標準分辨率。顯示模塊,用于將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上。通過本發明實施例的方案,減少了圖片的占有資源,減小了 APK的大小,降低了工作復雜度,提升了工作效率。
【附圖說明】
[0041 ]圖1為實現本發明各個實施例一個可選的移動終端的硬件結構示意圖;
[0042]圖2為如圖1所示的移動終端的無線通信系統示意圖;
[0043]圖3為本發明實施例的圖片顯示裝置組成框圖;
[0044]圖4為本發明實施例的圖片顯示方法流程圖。
[0045]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0046]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0047]現在將參考附圖描述實現本發明各個實施例一個可選的移動終端。在后續的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發明的說明,其本身并沒有特定的意義。因此,"模塊"與"部件"可以混合地使用。
[0048]移動終端可以以各種形式來實施。例如,本發明中描述的終端可以包括諸如移動電話、智能電話、筆記本電腦、數字廣播接收器、PDA(個人數字助理)、PAD(平板電腦)、PMP(便攜式多媒體播放器)、導航裝置等等的移動終端以及諸如數字TV、臺式計算機等等的固定終端。下面,假設終端是移動終端。然而,本領域技術人員將理解的是,除了特別用于移動目的的元件之外,根據本發明的實施方式的構造也能夠應用于固定類型的終端。
[0049]圖1為實現本發明各個實施例的移動終端的硬件結構示意。
[0050]移動終端100可以包括無線通信單元110、A/V(音頻/視頻)輸入單元120、用戶輸入單元130、感測單元140、輸出單元150、存儲器160、接口單元170、控制器180和電源單元190等等。圖1示出了具有各種組件的移動終端,但是應理解的是,并不要求實施所有示出的組件。可以替代地實施更多或更少的組件。將在下面詳細描述移動終端的元件。
[0051]無線通信單元110通常包括一個或多個組件,其允許移動終端100與無線通信系統或網絡之間的無線電通信。例如,無線通信單元可以包括廣播接收模塊111、移動通信模塊112、無線互聯網模塊113、短程通信模塊114和位置信息模塊115中的至少一個。
[0052]廣播接收模塊111經由廣播信道從外部廣播管理服務器接收廣播信號和/或廣播相關信息。廣播信道可以包括衛星信道和/或地面信道。廣播管理服務器可以是生成并發送廣播信號和/或廣播相關信息的服務器或者接收之前生成的廣播信號和/或廣播相關信息并且將其發送給終端的服務器。廣播信號可以包括TV廣播信號、無線電廣播信號、數據廣播信號等等。而且,廣播信號可以進一步包括與TV或無線電廣播信號組合的廣播信號。廣播相關信息也可以經由移動通信網絡提供,并且在該情況下,廣播相關信息可以由移動通信模塊112來接收。廣播信號可以以各種形式存在,例如,其可以以數字多媒體廣播(DMB)的電子節目指南(EPG)、數字視頻廣播手持(DVB-H)的電子服務指南(ESG)等等的形式而存在。廣播接收模塊111可以通過使用各種類型的廣播系統接收信號廣播。特別地,廣播接收模塊111可以通過使用諸如多媒體廣播-地面(DMB-T)、數字多媒體廣播-衛星(DMB-S)、數字視頻廣播-手持(DVB-H),前向鏈路媒體(MediaFLO?)的數據廣播系統、地面數字廣播綜合服務(ISDB-T)等等的數字廣播系統接收數字廣播。廣播接收模塊111可以被構造為適合提供廣播信號的各種廣播系統以及上述數字廣播系統。經由廣播接收模塊111接收的廣播信號和/或廣播相關信息可以存儲在存儲器160(或者其它類型的存儲介質)中。
[0053]移動通信模塊112將無線電信號發送到基站(例如,接入點、節點B等等)、外部終端以及服務器中的至少一個和/或從其接收無線電信號。這樣的無線電信號可以包括語音通話信號、視頻通話信號、或者根據文本和/或多媒體消息發送和/或接收的各種類型的數據。
[0054]無線互聯網模塊113支持移動終端的無線互聯網接入。該模塊可以內部或外部地耦接到終端。該模塊所涉及的無線互聯網接入技術可以包括WLAN(無線LAN)(W1-Fi)、Wibro(無線寬帶)、Wimax(全球微波互聯接入)、HSDPA(高速下行鏈路分組接入)等等。
[0055]短程通信模塊114是用于支持短程通信的模塊。短程通信技術的一些示例包括藍牙?、射頻識別(RFID)、紅外數據協會(IrDA)、超寬帶(UWB)、紫蜂?等等。
[0056]位置信息模塊115是用于檢查或獲取移動終端的位置信息的模塊。位置信息模塊的典型示例是GPS(全球定位系統)。根據當前的技術,GPS模塊115計算來自三個或更多衛星的距離信息和準確的時間信息并且對于計算的信息應用三角測量法,從而根據經度、瑋度和高度準確地計算三維當前位置信息。當前,用于計算位置和時間信息的方法使用三顆衛星并且通過使用另外的一顆衛星校正計算出的位置和時間信息的誤差。此外,GPS模塊115能夠通過實時地連續計算當前位置信息來計算速度信息。
[0057]A/V輸入單元120用于接收音頻或視頻信號。A/V輸入單元120可以包括相機121和麥克風1220,相機121對在視頻捕獲模式或圖像捕獲模式中由圖像捕獲裝置獲得的靜態圖片或視頻的圖像數據進行處理。處理后的圖像幀可以顯示在顯示單元151上。經相機121處理后的圖像幀可以存儲在存儲器160(或其它存儲介質)中或者經由無線通信單元110進行發送,可以根據移動終端的構造提供兩個或更多相機1210。麥克風122可以在電話通話模式、記錄模式、語音識別模式等等運行模式中經由麥克風接收聲音(音頻數據),并且能夠將這樣的聲音處理為音頻數據。處理后的音頻(語音)數據可以在電話通話模式的情況下轉換為可經由移動通信模塊112發送到移動通信基站的格式輸出。麥克風122可以實施各種類型的噪聲消除(或抑制)算法以消除(或抑制)在接收和發送音頻信號的過程中產生的噪聲或者干擾。
[0058]用戶輸入單元130可以根據用戶輸入的命令生成鍵輸入數據以控制移動終端的各種操作。用戶輸入單元130允許用戶輸入各種類型的信息,并且可以包括鍵盤、鍋仔片、觸摸板(例如,檢測由于被接觸而導致的電阻、壓力、電容等等的變化的觸敏組件)、滾輪、搖桿等等。特別地,當觸摸板以層的形式疊加在顯示單元151上時,可以形成觸摸屏。
[0059]感測單元140檢測移動終端100的當前狀態,(例如,移動終端100的打開或關閉狀態)、移動終端100的位置、用戶對于移動終端100的接觸(S卩,觸摸輸入)的有無、移動終端100的取向、移動終端100的加速或減速移動和方向等等,并且生成用于控制移動終端100的操作的命令或信號。例如,當移動終端100實施為滑動型移動電話時,感測單元140可以感測該滑動型電話是打開還是關閉。另外,感測單元140能夠檢測電源單元190是否提供電力或者接口單元170是否與外部裝置耦接。感測單元140可以包括接近傳感器1410將在下面結合觸摸屏來對此進行描述。
[0060]接口單元170用作至少一個外部裝置與移動終端100連接可以通過的接口。例如,外部裝置可以包括有線或無線頭戴式耳機端口、外部電源(或電池充電器)端口、有線或無線數據端口、存儲卡端口、用于連接具有識別模塊的裝置的端口、音頻輸入/輸出(I/O)端口、視頻I/O端口、耳機端口等等。識別模塊可以是存儲用于驗證用戶使用移動終端100的各種信息并且可以包括用戶識別模塊(UIM)、客戶識別模塊(SIM)、通用客戶識別模塊(USM)等等。另外,具有識別模塊的裝置(下面稱為"識別裝置")可以采取智能卡的形式,因此,識別裝置可以經由端口或其它連接裝置與移動終端100連接。接口單元170可以用于接收來自外部裝置的輸入(例如,數據信息、電力等等)并且將接收到的輸入傳輸到移動終端100內的一個或多個元件或者可以用于在移動終端和外部裝置之間傳輸數據。
[0061]另外,當移動終端100與外部底座連接時,接口單元170可以用作允許通過其將電力從底座提供到移動終端100的路徑或者可以用作允許從底座輸入的各種命令信號通過其傳輸到移動終端的路徑。從底座輸入的各種命令信號或電力可以用作用于識別移動終端是否準確地安裝在底座上的信號。輸出單元150被構造為以視覺、音頻和/或觸覺方式提供輸出信號(例如,音頻信號、視頻信號、警報信號、振動信號等等)。輸出單元150可以包括顯示單元151、音頻輸出模塊152、警報單元153等等。
[0062]顯示單元151可以顯示在移動終端100中處理的信息。例如,當移動終端100處于電話通話模式時,顯示單元151可以顯示與通話或其它通信(例如,文本消息收發、多媒體文件下載等等)相關的用戶界面(UI)或圖形用戶界面(GUI)。當移動終端100處于視頻通話模式或者圖像捕獲模式時,顯示單元151可以顯示捕獲的圖像和/或接收的圖像、示出視頻或圖像以及相關功能的UI或GUI等等。
[0063]同時,當顯示單元151和觸摸板以層的形式彼此疊加以形成觸摸屏時,顯示單元151可以用作輸入裝置和輸出裝置。顯示單元151可以包括液晶顯示器(LCD)、薄膜晶體管IXD(TFT-1XD)、有機發光二極管(OLED)顯示器、柔性顯示器、三維(3D)顯示器等等中的至少一種。這些顯示器中的一些可以被構造為透明狀以允許用戶從外部觀看,這可以稱為透明顯示器,典型的透明顯示器可以例如為TOLED(透明有機發光二極管)顯示器等等。根據特定想要的實施方式,移動終端100可以包括兩個或更多顯示單元(或其它顯示裝置),例如,移動終端可以包括外部顯示單元(未示出)和內部顯示單元(未示出)。觸摸屏可用于檢測觸摸輸入壓力以及觸摸輸入位置和觸摸輸入面積。
[0064]音頻輸出模塊152可以在移動終端處于呼叫信號接收模式、通話模式、記錄模式、語音識別模式、廣播接收模式等等模式下時,將無線通信單元110接收的或者在存儲器160中存儲的音頻數據轉換音頻信號并且輸出為聲音。而且,音頻輸出模塊152可以提供與移動終端100執行的特定功能相關的音頻輸出(例如,呼叫信號接收聲音、消息接收聲音等等)。音頻輸出模塊152可以包括揚聲器、蜂鳴器等等。
[0065]警報單元153可以提供輸出以將事件的發生通知給移動終端100。典型的事件可以包括呼叫接收、消息接收、鍵信號輸入、觸摸輸入等等。除了音頻或視頻輸出之外,警報單元153可以以不同的方式提供輸出以通知事件的發生。例如,警報單元153可以以振動的形式提供輸出,當接收到呼叫、消息或一些其它進入通信(incomingcommunicat1n)時,警報單元153可以提供觸覺輸出(S卩,振動)以將其通知給用戶。通過提供這樣的觸覺輸出,即使在用戶的移動電話處于用戶的口袋中時,用戶也能夠識別出各種事件的發生。警報單元153也可以經由顯示單元151或音頻輸出模塊152提供通知事件的發生的輸出。
[0066]存儲器160可以存儲由控制器180執行的處理和控制操作的軟件程序等等,或者可以暫時地存儲己經輸出或將要輸出的數據(例如,電話簿、消息、靜態圖像、視頻等等)。而且,存儲器160可以存儲關于當觸摸施加到觸摸屏時輸出的各種方式的振動和音頻信號的數據。
[0067]存儲器160可以包括至少一種類型的存儲介質,所述存儲介質包括閃存、硬盤、多媒體卡、卡型存儲器(例如,SD或DX存儲器等等)、隨機訪問存儲器(RAM)、靜態隨機訪問存儲器(SRAM)、只讀存儲器(R0M)、電可擦除可編程只讀存儲器(EEPROM)、可編程只讀存儲器(PROM)、磁性存儲器、磁盤、光盤等等。而且,移動終端100可以與通過網絡連接執行存儲器160的存儲功能的網絡存儲裝置協作。
[0068]控制器180通常控制移動終端的總體操作。例如,控制器180執行與語音通話、數據通信、視頻通話等等相關的控制和處理。另外,控制器180可以包括用于再現(或回放)多媒體數據的多媒體模塊1810,多媒體模塊1810可以構造在控制器180內,或者可以構造為與控制器180分離。控制器180可以執行模式識別處理,以將在觸摸屏上執行的手寫輸入或者圖片繪制輸入識別為字符或圖像。
[0069]電源單元190在控制器180的控制下接收外部電力或內部電力并且提供操作各元件和組件所需的適當的電力。
[0070]這里描述的各種實施方式可以以使用例如計算機軟件、硬件或其任何組合的計算機可讀介質來實施。對于硬件實施,這里描述的實施方式可以通過使用特定用途集成電路(ASIC)、數字信號處理器(DSP)、數字信號處理裝置(DSPD)、可編程邏輯裝置(PLD)、現場可編程門陣列(FPGA)、處理器、控制器、微控制器、微處理器、被設計為執行這里描述的功能的電子單元中的至少一種來實施,在一些情況下,這樣的實施方式可以在控制器180中實施。對于軟件實施,諸如過程或功能的實施方式可以與允許執行至少一種功能或操作的單獨的軟件模塊來實施。軟件代碼可以由以任何適當的編程語言編寫的軟件應用程序(或程序)來實施,軟件代碼可以存儲在存儲器160中并且由控制器180執行。
[0071]至此,己經按照其功能描述了移動終端。下面,為了簡要起見,將描述諸如折疊型、直板型、擺動型、滑動型移動終端等等的各種類型的移動終端中的滑動型移動終端作為示例。因此,本發明能夠應用于任何類型的移動終端,并且不限于滑動型移動終端。
[0072]如圖1中所示的移動終端100可以被構造為利用經由幀或分組發送數據的諸如有線和無線通信系統以及基于衛星的通信系統來操作。
[0073]現在將參考圖2描述其中根據本發明的移動終端能夠操作的通信系統。
[0074]這樣的通信系統可以使用不同的空中接口和/或物理層。例如,由通信系統使用的空中接口包括例如頻分多址(FDMA)、時分多址(TDMA)、碼分多址(CDMA)和通用移動通信系統(UMTS)(特別地,長期演進(LTE))、全球移動通信系統(GSM)等等。作為非限制性示例,下面的描述涉及CDMA通信系統,但是這樣的教導同樣適用于其它類型的系統。
[0075]參考圖2,⑶MA無線通信系統可以包括多個移動終端100、多個基站(BS)270、基站控制器(BSC)275和移動交換中心(MSCUSOJSCSSO被構造為與公共電話交換網絡(PSTN)290形成接口。MSC280還被構造為與可以經由回程線路耦接到基站270的BSC275形成接口。回程線路可以根據若干己知的接口中的任一種來構造,所述接口包括例如E1/T1、ATM,IP、PPP、幀中繼、HDSL、ADSL或xDSL。將理解的是,如圖2中所示的系統可以包括多個BSC2750。
[0076]每個BS270可以服務一個或多個分區(或區域),由多向天線或指向特定方向的天線覆蓋的每個分區放射狀地遠離BS270。或者,每個分區可以由用于分集接收的兩個或更多天線覆蓋。每個BS270可以被構造為支持多個頻率分配,并且每個頻率分配具有特定頻譜(例如,1.25MHz,5MHz 等等)。
[0077]分區與頻率分配的交叉可以被稱為CDMA信道。BS270也可以被稱為基站收發器子系統(BTS)或者其它等效術語。在這樣的情況下,術語"基站"可以用于籠統地表示單個BSC275和至少一個BS270。基站也可以被稱為〃蜂窩站〃。或者,特定BS270的各分區可以被稱為多個蜂窩站。
[0078]如圖2中所示,廣播發射器(BT)295將廣播信號發送給在系統內操作的移動終端100。如圖1中所示的廣播接收模塊111被設置在移動終端100處以接收由BT295發送的廣播信號。在圖2中,示出了幾個全球定位系統(GPS)衛星300。衛星300幫助定位多個移動終端100中的至少一個。
[0079]在圖2中,描繪了多個衛星300,但是理解的是,可以利用任何數目的衛星獲得有用的定位信息。如圖1中所示的GPS模塊115通常被構造為與衛星300配合以獲得想要的定位信息。替代GPS跟蹤技術或者在GPS跟蹤技術之外,可以使用可以跟蹤移動終端的位置的其它技術。另外,至少一個GPS衛星300可以選擇性地或者額外地處理衛星DMB傳輸。
[0080]作為無線通信系統的一個典型操作,BS270接收來自各種移動終端100的反向鏈路信號。移動終端100通常參與通話、消息收發和其它類型的通信。特定基站270接收的每個反向鏈路信號被在特定BS270內進行處理。獲得的數據被轉發給相關的BSC275 ASC提供通話資源分配和包括BS270之間的軟切換過程的協調的移動管理功能。BSC275還將接收到的數據路由到MSC280,其提供用于與PSTN290形成接口的額外的路由服務。類似地,PSTN290與MSC280形成接口,MSC與BSC275形成接口,并且BSC275相應地控制BS270以將正向鏈路信號發送到移動終端100。
[0081]基于上述可選的移動終端硬件結構以及通信系統,提出本發明方法各個實施例。
[0082]目前市場上有多種不同的終端分辨率,如果一款應用想要做到適應每種終端的分辨率,就不得不做大量的適配工作,相關的圖片適配方案就是通過建立不同的目錄,達到適配的目的。比如,市場上有五種通用的分辨率,那么就需要設置與這五種通用的分辨率相對應的五個目錄,一張圖片資源就需要拷貝五份,分別放到五個目錄下面,這五個目錄放置的圖片資源是一樣的,只是分辨率不同,這樣在不同分辨率的手機上,安卓Android系統便能根據當前手機的分辨率確定該使用哪一個目錄的圖片資源。舉例如下:
[0083]假設一個應用中只有一張圖片資源,在現實開發中不止一張,可能有上百張圖片,為了讓此應用適配市場上每種分辨率的手機,那么就需要建立五個目錄,如,drawable-1dp1、drawable_mdp1、drawable_hdp1、drawable_xhdp1、drawable_xxhdpi ;同時,同一張圖片資源需要有五份,區別就是圖片分辨率不同。下面闡述了五個目錄分別適配的分辨率范圍:
[0084]drawable-ldpi:240x320;
[0085]drawable-mdpi:320x480;
[0086]drawable-hdpi:480x800 n 480x854;
[0087]drawable-xhdp1:至少720 X 960;
[0088]drawable-xxhdp1:720X1280。
[0089]例如,某個終端的屏幕分辨率是720X1280,那么該手機上的應用使用的圖片資源就是drawable-xxhdpi目錄下的資源,如果分辨率是320x480,那么該手機上的應用使用的圖片資源就是drawable-mdpi目錄下的資源。
[0090]上述的圖片適配顯示方案導致終端中存儲了很多重復的圖片資源,浪費終端資源,也增加了開發的復雜度。
[0091]針對上述問題,本發明實施例提出了一種解決方案,該方案的構思為:預先在終端系統中定義一個標準分辨率,存儲在該終端系統中的圖片都以該標準分辨率存儲,當需要對終端系統中存儲的圖片進行顯示時,根據當前終端的分辨率自動對具有標準分辨率的存儲圖片進行縮放,這樣就能保證一張圖片資源在終端中只存儲一份,可以大大減少圖片資源,同時減小APK的大小和開發的復雜度。
[0092]需要說明的是,上述的終端系統可以是任何能夠實施例本發明實施例方案的系統,在此不做具體限制,可選地,該終端系統為Android系統。
[0093]如圖3所示,本發明第一實施例提出一種圖片顯示裝置01,該裝置包括:獲取模塊
02、計算模塊03和顯示模塊04。
[0094]獲取模塊02,用于獲取當前使用終端的分辨率。
[0095]在本發明實施例中,為了實現本發明實施例的圖片縮放顯示方案,需要先獲取當前使用的終端的分辨率,以便為后續的圖片縮放找到縮放依據。這里,對于當前使用終端的分辨率的獲取方法和算法不做限制,任何能夠實現本發明實施例方案的獲取方法和算法都在本發明實施例的保護范圍之內。
[0096]另外,本發明實施例中的終端可以是手機、電腦、Ipad、可穿戴裝置以及任何形式的電子顯示裝置,例如大型LED顯示屏等。
[0097]計算模塊03,用于將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,待顯示原圖具有該標準分辨率。
[0098]在本發明實施例中,通過獲取模塊02獲取當前使用終端的分辨率以后,還需要通過獲取模塊02進一步獲取該終端系統中預設的標準分辨率,這里,該預設的標準分辨率可以根據不同的應用場景自行定義,不做具體限制,例如,720X1280。該終端系統中會存儲一個或多個圖片,這些圖片都具有該標準分辨率,并且該一個或多個圖片在終端系統中僅存儲一份。
[0099]獲取模塊02獲取了當前使用終端的分辨率和預設的標準分辨率以后,需要進一步通過計算模塊03對獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,以獲取待顯示原圖的縮放比。
[0100]在本發明實施例中,為了提高工作效率,在對待顯示原圖的分辨率進行計算,獲取待顯示原圖的縮放比之前,需要先對獲得的當前使用終端的分辨率進行判斷,看看該終端的分辨率是否正好與標準分辨率相同,從而不需要對待顯示原圖進行縮放。這里,通過比較模塊05來完成該方案,
[0101]可選地,該裝置還包括:比較模塊05。
[0102]比較模塊05,用于在計算模塊03將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算之前,將當前使用終端的分辨率與標準分辨率進行比較。
[0103]在本發明實施例中,通過獲取模塊02獲取了當前使用終端的分辨率以后,比較模塊05需要在計算模塊03將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算之前進行比較,以便判斷當前使用終端的分辨率是否與標準分辨率相同。如果判定當前使用終端的分辨率與標準分辨率相同,則確定待顯示原圖的分辨率,即預設的標準分辨率與使用的終端的分辨率剛好匹配,則不需要后續對該待顯示原圖的分辨率進行縮放,進而也不用再通過計算模塊03進行計算。比較模塊05避免了計算模塊03對于獲取模塊02獲得的任何一個終端分辨率都進行計算,并計算出1:1的縮放比的結果,這在一定程度上節省了終端資源,提高了顯示效率。
[0104]顯示模塊04,用于當當前使用終端的分辨率與標準分辨率相同時,將待顯示原圖以標準分辨率顯示在終端的顯示界面上。
[0105]在本發明實施例中,當通過比較模塊05確定當前使用終端的分辨率與標準分辨率相同時,則可以通過顯示模塊04直接將待顯示原圖以標準分辨率顯示在終端的顯示界面上。
[0106]計算模塊03,還用于當當前使用終端的分辨率與標準分辨率不相同時,將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算。
[0107]在本發明實施例中,當通過比較模塊05確定當前使用終端的分辨率與標準分辨率不相同時,則需要進一步通過計算模塊03,對當前使用終端的分辨率以及預設的標準分辨率進行計算,以獲取待顯示原圖的縮放比。
[0108]可選地,計算模塊03將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比包括步驟S101-S102:
[0109]S101、將獲取的分辨率中的橫向像素點的個數與標準分辨率中的橫向像素點的個數相比,并將兩個橫向像素點的個數的比值作為待顯示原圖的橫向縮放比。
[0110]在本發明實施例中,假設獲取的當前使用終端的分辨率為320x480;待顯示原圖的分辨率,即預設的標準分辨率為720X1280;則根據本發明實施例的方案,當前使用終端的分辨率中的橫向像素點的個數為320;標準分辨率中的橫向像素點的個數為720;則橫向縮放比為 320/720 = 0.44。
[0111]S1 2、將獲取的分辨率中的縱向像素點的個數與標準分辨率中的縱向像素點的個數相比,并將兩個縱向像素點的個數的比值作為待顯示原圖的縱向縮放比。
[0112]在本發明實施例中,同樣以上述實施例為例進行說明,假設獲取的當前使用終端的分辨率為320x480;待顯示原圖的分辨率為720 X 1280;則根據本發明實施例的方案,當前使用終端的分辨率中的縱向像素點的個數為480 ;標準分辨率中的縱向像素點的個數為1280 ;則縱向縮放比為480/1280 = 0.38。
[0113]在本發明實施例中,通過上述方案我們便獲得了待顯示原圖的縮放比,通過獲得的橫向縮放比0.44與縱向縮放比0.38對待顯示原圖的方向和縱向分別進行縮小,便可以獲得與當前使用終端的分辨率相匹配的圖片。
[0114]需要說明的是,上述的步驟SlOl和步驟S102不分先后,可以先執行其中的任何一個步驟。
[0115]在本發明實施例中,通過上述方案根據計算模塊03獲得待顯示原圖的橫向縮放比和縱向縮放比以后,便可以直接根據獲得的橫向縮放比和縱向縮放比對圖片進行縮放了,但需要說明的是,由于終端系統中存儲的每一個圖片都具有固定的橫向和縱向的長度比,只有保持該橫向和縱向的長度比不變的情況下,才能保證待顯示原圖在進行縮放處理后仍然能夠保持原圖的狀態,不變形、不扭曲。但是,通常情況下,根據計算出的橫向縮放比對待顯示原圖進行橫向縮放,并且根據計算出的縱向縮放比對待顯示原圖進行縱向縮放以后,原圖的橫向和縱向的長度比已經改變,使得縮放后的圖片出現變形或扭曲等情況出現,這樣的圖片也許已經沒有使用價值,并且對用戶的觀看體驗也造成很大的影響。為了解決上述問題,本發明實施例采取了以下解決方案。
[0116]可選地,計算模塊03確定待顯示原圖的縮放比還包括步驟S201-S203:
[0117]S201、將橫向縮放比與縱向縮放比進行比較。
[0118]在本發明實施例中,計算模塊03計算出待顯示原圖的橫向縮放比和縱向縮放比以后,進一步將該橫向縮放比與縱向縮放比進行比較,以確定橫向縮放比和縱向縮放比哪個更小。
[0119]S202、當橫向縮放比小于或等于縱向縮放比時,將橫向縮放比作為待顯示原圖的縮放比。
[0120]在本發明實施例中,當通過比較確定出橫向縮放比小于或等于縱向縮放比時,將橫向縮放比作為待顯示原圖的縮放比,即將兩者中較小的一個作為最終的縮放比,該最終的縮放比既是待顯示原圖橫向上的縮放比,也是待顯示原圖縱向上的縮放比,即,使待顯示原圖以同樣的縮放比放大或縮小,以使得進行縮放后的圖片始終保持原來的橫向和縱向的長度比不變,并且保證縮放后的圖片的分辨率與當前使用終端的分辨率盡量匹配,解決了圖片比那行或扭曲的問題,并提高了用戶的體驗感。
[0121]S203、當橫向縮放比大于縱向縮放比時,將縱向縮放比作為待顯示原圖的縮放比。
[0122]在本發明實施例中,同理,當通過比較確定出橫向縮放比大于縱向縮放比時,將縱向縮放比作為待顯示原圖的縮放比,即將兩者中較小的一個作為最終的縮放比,該最終的縮放比既是待顯示原圖橫向上的縮放比,也是待顯示原圖縱向上的縮放比,即,使待顯示原圖以同樣的縮放比放大或縮小,以使得進行縮放后的圖片始終保持原來的橫向和縱向的長度比不變,并且保證縮放后的圖片的分辨率與當前使用終端的分辨率盡量匹配,解決了圖片比那行或扭曲的問題,并提高了用戶的體驗感。
[0123]顯示模塊04,用于將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上。
[0124]在本發明實施例中,通過計算模塊03計算出待顯示原圖的縮放比以后,顯示模塊04便可以根據計算出的縮放比分別對待顯示原圖的橫向和縱向進行縮放,以獲得與當前使用終端的分辨率相匹配的縮放圖片,并最終將該縮放圖片顯示在終端的顯示界面上。具體實施方案如下所述。
[0125]可選地,顯示模塊04將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上包括:
[0126]當待顯示原圖的縮放比為橫向縮放比時,將待顯示原圖在橫向和縱向上分別以橫向縮放比進行縮放,獲得縮放后的圖片,將縮放后的圖片顯示在終端的顯示界面上。或者,
[0127]當待顯示原圖的縮放比為縱向縮放比時,將待顯示原圖在橫向和縱向上分別以縱向縮放比進行縮放,獲得縮放后的圖片,將縮放后的圖片顯示在終端的顯示界面上。
[0128]在本發明實施例中,依據選擇橫向縮放比和縱向縮放比中比值較小者為最終縮放比的原則,在計算模塊03計算并確定出最終縮放比以后,顯示模塊便可以根據該最終縮放比對待顯示原圖的橫向和縱向進行縮放處理了,并將縮放后的圖片顯示在終端的顯示界面上。
[0129]至此,已經介紹完了本發明實施例方案的全部基本特征,需要說明的是,上述方案僅是本發明實施例的多個實施方式,在其它實施例中還可以采用其他實施方式,任何與本發明實施例相同或相似的方案,以及本發明實施例方案的基本特征的任意組合,都在本發明實施例的保護范圍之內。
[0130]為實現上述目的,本發明還提出了一種圖片顯示方法,需要說明的是,上述的圖片顯示裝置的任何實施例同樣適用于本發明實施例中的圖片顯示方法,在此不再贅述。如圖4所示,該方法包括步驟S301-S303:
[0131]S301、獲取當前使用終端的分辨率。
[0132]可選地,該方法還包括:
[0133]在將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算之前,將當前使用終端的分辨率與標準分辨率進行比較。
[0134]當當前使用終端的分辨率與標準分辨率相同時,將待顯示原圖以標準分辨率顯示在終端的顯示界面上。
[0135]當當前使用終端的分辨率與標準分辨率不相同時,將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算。
[0136]S302、將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,待顯示原圖具有該標準分辨率。
[0137]可選地,將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比包括:
[0138]將獲取的分辨率中的橫向像素點的個數與標準分辨率中的橫向像素點的個數相比,并將兩個橫向像素點的個數的比值作為待顯示原圖的橫向縮放比。
[0139]將獲取的分辨率中的縱向像素點的個數與標準分辨率中的縱向像素點的個數相比,并將兩個縱向像素點的個數的比值作為待顯示原圖的縱向縮放比。
[0140]可選地,確定待顯示原圖的縮放比還包括:
[0141]將橫向縮放比與縱向縮放比進行比較。
[0142]當橫向縮放比小于或等于縱向縮放比時,將橫向縮放比作為待顯示原圖的縮放比。
[0143]當橫向縮放比大于縱向縮放比時,將縱向縮放比作為待顯示原圖的縮放比。
[0144]S303、將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上。
[0145]可選地,將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上包括:
[0146]當待顯示原圖的縮放比為橫向縮放比時,將待顯示原圖在橫向和縱向上分別以橫向縮放比進行縮放,獲得縮放后的圖片,將縮放后的圖片顯示在終端的顯示界面上。或者,
[0147]當待顯示原圖的縮放比為縱向縮放比時,將待顯示原圖在橫向和縱向上分別以縱向縮放比進行縮放,獲得縮放后的圖片,將縮放后的圖片顯示在終端的顯示界面上。
[0148]本申請提出了一種圖片顯示裝置和方法,該裝置包括:獲取模塊、計算模塊和顯示模塊。獲取模塊,用于獲取當前使用終端的分辨率。計算模塊,用于將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,待顯示原圖具有該標準分辨率。顯示模塊,用于將待顯示原圖根據縮放比進行處理后顯示在終端的顯示界面上。通過本發明實施例的方案,減少了圖片的占有資源,使每份圖片資源只有一份;減小了 APK的大小,降低了工作復雜度,提升了工作效率。
[0149]需要說明的是,在本文中,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0150]上述本發明實施例序號僅僅為了描述,不代表實施例的優劣。
[0151]通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質(如R0M/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,月艮務器,空調器,或者網絡設備等)執行本發明各個實施例所述的方法。
[0152]以上僅為本發明的優選實施例,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。
【主權項】
1.一種圖片顯示裝置,其特征在于,所述裝置包括:獲取模塊、計算模塊和顯示模塊; 所述獲取模塊,用于獲取當前使用終端的分辨率; 所述計算模塊,用于將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,所述待顯示原圖具有所述標準分辨率; 所述顯示模塊,用于將所述待顯示原圖根據所述縮放比進行處理后顯示在所述終端的顯示界面上。2.如權利要求1所述的安卓系統的圖片顯示裝置,其特征在于,所述裝置還包括:比較豐旲塊; 所述比較模塊,用于在所述計算模塊將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算之前,將所述當前使用終端的分辨率與所述標準分辨率進行比較; 所述顯示模塊,還用于當所述當前使用終端的分辨率與所述標準分辨率相同時,將所述待顯示原圖以所述標準分辨率顯示在所述終端的顯示界面上; 所述計算模塊,還用于當所述當前使用終端的分辨率與所述標準分辨率不相同時,將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算。3.如權利要求1所述的安卓系統的圖片顯示裝置,其特征在于,所述計算模塊將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比包括: 將獲取的所述分辨率中的橫向像素點的個數與所述標準分辨率中的橫向像素點的個數相比,并將兩個所述橫向像素點的個數的比值作為所述待顯示原圖的橫向縮放比; 將獲取的所述分辨率中的縱向像素點的個數與所述標準分辨率中的縱向像素點的個數相比,并將兩個所述縱向像素點的個數的比值作為所述待顯示原圖的縱向縮放比。4.如權利要求3所述的安卓系統的圖片顯示裝置,其特征在于,所述計算模塊確定待顯示原圖的縮放比還包括: 將所述橫向縮放比與所述縱向縮放比進行比較; 當所述橫向縮放比小于或等于所述縱向縮放比時,將所述橫向縮放比作為所述待顯示原圖的縮放比; 當所述橫向縮放比大于所述縱向縮放比時,將所述縱向縮放比作為所述待顯示原圖的縮放比。5.如權利要求4所述的安卓系統的圖片顯示裝置,其特征在于,所述顯示模塊將所述待顯示原圖根據所述縮放比進行處理后顯示在所述終端的顯示界面上包括: 當所述待顯示原圖的縮放比為所述橫向縮放比時,將所述待顯示原圖在橫向和縱向上分別以所述橫向縮放比進行縮放,獲得縮放后的圖片,將所述縮放后的圖片顯示在所述終端的顯示界面上;或者, 當所述待顯示原圖的縮放比為所述縱向縮放比時,將所述待顯示原圖在橫向和縱向上分別以所述縱向縮放比進行縮放,獲得縮放后的圖片,將所述縮放后的圖片顯示在所述終端的顯示界面上。6.一種圖片顯示方法,其特征在于,所述方法包括: 獲取當前使用終端的分辨率; 將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比;其中,所述待顯示原圖具有所述標準分辨率; 將所述待顯示原圖根據所述縮放比進行處理后顯示在所述終端的顯示界面上。7.如權利要求6所述的安卓系統的圖片顯示方法,其特征在于,所述方法還包括: 在將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算之前,將所述當前使用終端的分辨率與所述標準分辨率進行比較; 當所述當前使用終端的分辨率與所述標準分辨率相同時,將所述待顯示原圖以所述標準分辨率顯示在所述終端的顯示界面上; 當所述當前使用終端的分辨率與所述標準分辨率不相同時,將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算。8.如權利要求6所述的安卓系統的圖片顯示方法,其特征在于,所述將獲取的當前使用終端的分辨率以及預設的標準分辨率進行計算,確定待顯示原圖的縮放比包括: 將獲取的所述分辨率中的橫向像素點的個數與所述標準分辨率中的橫向像素點的個數相比,并將兩個所述橫向像素點的個數的比值作為所述待顯示原圖的橫向縮放比; 將獲取的所述分辨率中的縱向像素點的個數與所述標準分辨率中的縱向像素點的個數相比,并將兩個所述縱向像素點的個數的比值作為所述待顯示原圖的縱向縮放比。9.如權利要求8所述的安卓系統的圖片顯示方法,其特征在于,所述確定待顯示原圖的縮放比還包括: 將所述橫向縮放比與所述縱向縮放比進行比較; 當所述橫向縮放比小于或等于所述縱向縮放比時,將所述橫向縮放比作為所述待顯示原圖的縮放比; 當所述橫向縮放比大于所述縱向縮放比時,將所述縱向縮放比作為所述待顯示原圖的縮放比。10.如權利要求9所述的安卓系統的圖片顯示方法,其特征在于,所述將所述待顯示原圖根據所述縮放比進行處理后顯示在所述終端的顯示界面上包括: 當所述待顯示原圖的縮放比為所述橫向縮放比時,將所述待顯示原圖在橫向和縱向上分別以所述橫向縮放比進行縮放,獲得縮放后的圖片,將所述縮放后的圖片顯示在所述終端的顯示界面上;或者, 當所述待顯示原圖的縮放比為所述縱向縮放比時,將所述待顯示原圖在橫向和縱向上分別以所述縱向縮放比進行縮放,獲得縮放后的圖片,將所述縮放后的圖片顯示在所述終端的顯示界面上。
【文檔編號】G06T3/40GK105847590SQ201610348320
【公開日】2016年8月10日
【申請日】2016年5月24日
【發明人】王榮洋
【申請人】努比亞技術有限公司