本發(fā)明屬于智能示波器技術(shù)領(lǐng)域,更為具體地講,涉及一種智能示波器的屏幕多分辨率適配方法。
背景技術(shù):
智能示波器將傳統(tǒng)數(shù)字示波器的功能一分為二,采用獨(dú)立供電的數(shù)據(jù)采集板和智能終端來完成數(shù)據(jù)采集和數(shù)據(jù)處理工作。它們之間通過有線或者無線方式進(jìn)行數(shù)據(jù)通信。
智能終端要完成數(shù)據(jù)運(yùn)算、波形顯示以及人機(jī)交互功能,這就要求智能終端要有良好的界面設(shè)計(jì)來滿足使用者的需求。但相比傳統(tǒng)示波器的屏幕而言,智能終端設(shè)備的屏幕尺寸不一而足,所以運(yùn)行于智能終端的示波器軟件要具有適配多種分辨率屏幕的能力。
目前隨著智能終端設(shè)備(手機(jī)、平板)種類的不斷增多,其屏幕分辨率也越來越多樣。對(duì)于儀器類的應(yīng)用程序而言,這種多樣性對(duì)程序的開發(fā)影響巨大。示波器屬于精密的測(cè)試工具,要保證結(jié)果的精確顯示,其繪制波形的界面部分必須有固定的尺寸參數(shù),但作為智能操作系統(tǒng)的應(yīng)用程序,其根據(jù)屏幕分辨率而自動(dòng)調(diào)整尺寸的能力又不可或缺。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提出一種智能示波器的屏幕多分辨率適配方法,使智能示波器能適用于不同屏幕分別率的智能終端。
為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明智能示波器的屏幕多分辨率適配方法,其特征在于,包括以下步驟:
(1)、首先將智能終端屏幕的水平方向尺寸劃分為m份,垂直方向的尺寸劃分為n份,然后根據(jù)智能終端屏幕分辨率w×h,計(jì)算出水平方向上的每一份的像素點(diǎn)數(shù)w/m以及垂直方向上的每一份的像素點(diǎn)數(shù)h/n,其中,w為智能終端屏幕水平方向像素點(diǎn)數(shù),h為智能終端屏幕垂直方向像素點(diǎn)數(shù);
(2)、對(duì)于波形繪制區(qū)外的每個(gè)控件的長寬尺寸以及位置信息用所占份數(shù)來表示;
(3)、對(duì)于一個(gè)波形繪制區(qū)外的控件,將其長尺寸份數(shù)、位置水平信息份數(shù)乘以w/m,寬尺寸份數(shù)、位置垂直信息份數(shù)乘以h/n,換算為實(shí)際的像素點(diǎn)數(shù)即像素尺寸,然后進(jìn)行顯示;
(4)、波形繪制區(qū)外的控件像素尺寸確定后,外圍區(qū)域像素尺寸就確定了,智能終端屏幕總尺寸減掉外圍區(qū)域像素尺寸,即得到波形繪制區(qū)的像素尺寸x×y,其中,x為波形繪制區(qū)水平方向像素點(diǎn)數(shù),y為波形繪制區(qū)垂直方向像素點(diǎn)數(shù);
(5)、根據(jù)智能示波器的波形映射關(guān)系,確定波形顯示網(wǎng)格中每個(gè)網(wǎng)格水平像素點(diǎn)數(shù)x和垂直像素點(diǎn)數(shù)y;
(6)、根據(jù)波形繪制區(qū)水平尺寸x、垂直尺寸y,計(jì)算出水平方向上的網(wǎng)格數(shù)量m和垂直方向上的網(wǎng)格數(shù)量n:x除以x后再除以2,取整后再乘以2得出m,y除以y后再除以2,取整后再乘以2得出n;
(7)、確定水平方向上的網(wǎng)格數(shù)量m和垂直方向上的網(wǎng)格數(shù)量n后,在波形繪制區(qū)中繪制波形顯示網(wǎng)格。
本發(fā)明的目的是這樣實(shí)現(xiàn)的。
本發(fā)明智能示波器的屏幕多分辨率適配方法,將智能終端屏幕按固定份數(shù)進(jìn)行劃分,每份的像素點(diǎn)數(shù)與分辨率成正比,同時(shí),智能示波器應(yīng)用程序的界面分為兩大部分,對(duì)波形繪制區(qū)外的其他區(qū)域,這些區(qū)域中的各種控件,包括各級(jí)控制菜單、示波器狀態(tài)顯示欄等,可以根據(jù)屏幕分辨率自動(dòng)調(diào)整尺寸,即控件的份數(shù)乘以每一份的像素點(diǎn)數(shù),分辨率越高,控件的像素尺寸也大;對(duì)于屏幕中心的波形繪制區(qū),該區(qū)域像素尺寸需要由固定的像素點(diǎn)來進(jìn)行設(shè)定,從而與智能示波器硬件部分的屬性保持固定關(guān)系(映射點(diǎn)數(shù)是固定的)。從而滿足了繪制波形的界面部分必須有固定尺寸參數(shù)的要求,同時(shí)滿足了根據(jù)屏幕分辨率而自動(dòng)調(diào)整尺寸的能力,使智能示波器能適用于不同屏幕分別率的智能終端。
附圖說明
圖1是智能示波器界面一種布局示意圖;
圖2是多分辨率適配原理圖;
圖3是本發(fā)明智能示波器的屏幕多分辨率適配方法一種具體實(shí)施方式流程圖;
圖4是本發(fā)明運(yùn)行在兩個(gè)不同分辨率屏幕上的顯示效果,其中,(a)運(yùn)行在分辨率為1920*1080的智能終端上,(b)運(yùn)行在分辨率為1280*768的智能終端上。
具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。
圖1是智能示波器界面一種布局示意圖。
在本實(shí)施例中,如圖1所示,將智能終端的屏幕顯示區(qū)以表格的形式劃分為7大功能區(qū)域,它們分別是觸發(fā)位置與狀態(tài)顯示區(qū)、垂直檔位與時(shí)基控制顯示區(qū)、波形繪制區(qū)、二級(jí)菜單選擇區(qū)、電量與二級(jí)菜單的狀態(tài)顯示區(qū)、一級(jí)菜單控制區(qū)、功能窗口顯示區(qū),這些區(qū)域具有不同的控制和顯示職能,所以采用不同的布局來實(shí)現(xiàn)。其中二級(jí)菜單選擇區(qū)、垂直檔位與時(shí)基控制顯示區(qū)以及波形繪制區(qū)采用多層疊加的結(jié)構(gòu),可以根據(jù)需要選擇顯示不同層的視圖,這樣相當(dāng)于擴(kuò)展了屏幕的等效顯示面積,使用戶可以看到更多的信息。
波形繪制區(qū)完成智能示波器網(wǎng)格和波形的顯示,其他區(qū)域完成菜單和狀態(tài)信息顯示的功能。根據(jù)屏幕各區(qū)域功能特性的不同,本發(fā)明將智能示波器應(yīng)用程序的界面分為兩大部分,其一是除位于屏幕中心的波形繪制區(qū)外的其他區(qū)域,這些區(qū)域中的各種控件,包括各級(jí)控制菜單、示波器狀態(tài)顯示欄等,可以根據(jù)屏幕分辨率自動(dòng)調(diào)整像素尺寸,分辨率越高,控件的像素尺寸也大;其二是位于屏幕中心的波形繪制區(qū),該區(qū)域像素尺寸需要由固定的像素點(diǎn)來進(jìn)行設(shè)定,從而與智能示波器硬件部分的屬性保持固定關(guān)系映射點(diǎn)數(shù)是固定的)。從而滿足了繪制波形的界面部分必須有固定尺寸參數(shù)的要求,同時(shí)滿足了根據(jù)屏幕分辨率而自動(dòng)調(diào)整尺寸的能力,使智能示波器能適用于不同屏幕分別率的智能終端。
除波形繪制區(qū)外其他區(qū)域中的控件要能夠根據(jù)屏幕的分辨率自動(dòng)調(diào)整尺寸,使其在不同的智能終端上都能有最佳顯示效果,從而提升用戶的使用體驗(yàn)。為了達(dá)到這樣的目的,本發(fā)明在進(jìn)行這部分界面設(shè)計(jì)時(shí),采用了尺寸縮放的方法,在本實(shí)施例中,具體來說包括以下幾個(gè)方面:
1、界面布局多采用相對(duì)布局,其設(shè)計(jì)思想是通過指定界面中各控件或控件與屏幕的相對(duì)位置關(guān)系,來對(duì)界面進(jìn)行布局。例如某個(gè)控件對(duì)齊屏幕左側(cè),而另一個(gè)控件對(duì)齊屏幕右側(cè),這樣當(dāng)程序在不同尺寸的設(shè)備上運(yùn)行時(shí),這兩個(gè)控件都將對(duì)齊屏幕的邊緣。
2、定義了另一種概念的尺寸單位,該單位分為長度單位和寬度單位。長度單位指的是屏幕長度的1/480,即m=480,而寬度單位指的是屏幕的1/320,即n=320。當(dāng)在進(jìn)行界面設(shè)計(jì)時(shí)就以480×320為基礎(chǔ)進(jìn)行布局,每一個(gè)控件的尺寸都是使用長度單位和寬度單位進(jìn)行標(biāo)識(shí),即所占份數(shù)來表示。同是,本發(fā)明采用該單位控件的水平垂直位置信息,從而確定了一個(gè)控件的大小和位置。
波形繪制區(qū)是用來顯示波形數(shù)據(jù)的,它與智能示波器前端數(shù)據(jù)采集板的指標(biāo)直接相關(guān),需要按照傳統(tǒng)示波器的設(shè)計(jì)方法來確定顯示區(qū)的網(wǎng)格尺寸。該區(qū)域要繪制網(wǎng)格、光標(biāo)、波形等內(nèi)容,其界面設(shè)計(jì)與傳統(tǒng)示波器的界面設(shè)計(jì)流程一樣,當(dāng)智能示波器的時(shí)基表確定后,智能示波器的采樣率和屏幕上每一格的點(diǎn)數(shù)就有一種固定的關(guān)系,這一固定關(guān)系不會(huì)隨著屏幕分辨率的變化而變化。所以本發(fā)明在不改變每一格像素點(diǎn)數(shù)的前提下,采用改變格數(shù)和波形數(shù)據(jù)映射的方法來解決波形顯示在多分辨率下的適配問題。在本實(shí)施例中,在水平方向上,每一個(gè)網(wǎng)格有125個(gè)像素點(diǎn),通過網(wǎng)格數(shù)目的變化(變化以兩個(gè)網(wǎng)格為單位即250px),波形顯示區(qū)可以適應(yīng)屏幕寬度的變化,但最多支持12格,也就是該區(qū)域支持的最大寬度是1500px,這樣在不同屏幕上顯示出來的視覺誤差在250px以內(nèi),波形繪制區(qū)網(wǎng)格尺寸變化示意圖如圖2所示。
采用上述方法完成的界面布局既保證了人機(jī)交互界面良好的視覺效果,又保證了波形顯示的精確度,實(shí)現(xiàn)了智能示波器軟件的多分辨率適配功能。
以android設(shè)備為例,其界面的設(shè)計(jì)是通過布局文件實(shí)現(xiàn)的,在布局文件中,大量使用了一些相對(duì)性的尺寸來定義控件的大小如wrap_content、match_parent、weight等,采用相對(duì)布局如relativelayout、linearlayout等,并使用了自動(dòng)拉伸位圖9.png文件和非密度制約像素單位dp(dp是一種非密度制約像素,其尺寸與160dpi(dpi是dotsperinch的縮寫,即每英寸所打印的點(diǎn)數(shù))像素的實(shí)際尺寸相同),來完成控件的自動(dòng)縮放。
此外利用res/value文件夾對(duì)不同分辨率屏幕中的控件尺寸進(jìn)行設(shè)定。android程序中的布局文件都存放在res的layout文件夾中,程序運(yùn)行時(shí)會(huì)運(yùn)行該文件下的布局文件。針對(duì)不同的分辨率,本發(fā)明采用一套布局文件,而把布局文件中用于定義尺寸的數(shù)值文件value設(shè)置為多套。
在本實(shí)施例中,如圖3所示,本發(fā)明智能示波器的屏幕多分辨率適配方法步驟如下:
步驟s1:智能終端屏幕份數(shù)劃分
首先將智能終端屏幕的水平方向尺寸劃分為480,即m=480份,垂直方向的尺寸劃分為320,即n=320份,然后根據(jù)智能終端屏幕分辨率w×h,計(jì)算出每一份水平方向的像素點(diǎn)數(shù)w/m以及每一份垂直方向的像素點(diǎn)數(shù)h/n。
在本實(shí)施例中,智能終端屏幕分辨率為1920×1080,即w=1920、h=1080,這樣,每一份水平方向的像素點(diǎn)數(shù)為4,每一份垂直方向的像素點(diǎn)數(shù)為3.375。
步驟s2:控件份數(shù)表示
對(duì)于波形繪制區(qū)外的每個(gè)控件的長寬尺寸以及位置水平垂直信息用所占份數(shù)來表示,比如一個(gè)按鍵的水平尺寸占10份,垂直尺寸占6份,距離右邊界的距離為2份,距離下邊界為2份(如圖1一級(jí)菜單控制區(qū))。
步驟s3:控件像素尺寸換算
對(duì)于一個(gè)波形繪制區(qū)外的控件,將其長尺寸份數(shù)、位置水平信息份數(shù)乘以w/m即4,寬尺寸份數(shù)、位置垂直信息份數(shù)乘以h/n即3.375,換算為實(shí)際的像素點(diǎn)數(shù)即像素尺寸,然后進(jìn)行顯示。
在本實(shí)施中,在1920*1080分辨率的屏幕上,步驟(2)中提到的按鍵像素尺寸為40px×20px(計(jì)算為20.25,取整為20px),距離屏幕右邊界的距離為8px,距離下邊界為7px(計(jì)算為6.75,取整為7px)。
步驟s4:波形繪制區(qū)像素尺寸確定
波形繪制區(qū)外的控件像素尺寸確定后,外圍區(qū)域像素尺寸就確定了,智能終端屏幕總尺寸減掉外圍區(qū)域像素尺寸,即得到波形繪制區(qū)的像素尺寸x×y。在本實(shí)施例中,x=1530,y=840;
步驟s5:波形顯示網(wǎng)格像素點(diǎn)數(shù)確定
根據(jù)智能示波器的波形映射關(guān)系,確定波形顯示網(wǎng)格中每個(gè)網(wǎng)格水平像素點(diǎn)數(shù)x和垂直像素點(diǎn)數(shù)y。在本實(shí)施例中,x=125,y=100。
步驟s6:波形顯示網(wǎng)格數(shù)量計(jì)算
根據(jù)波形繪制區(qū)水平尺寸x、垂直尺寸y,計(jì)算出網(wǎng)格的水平方向數(shù)量m和垂直方向數(shù)量n:x除以x后再除以2,取整后再乘以2得出m,y除以y后再除以2,取整后再乘以2得出n。在本實(shí)施例中,x=1530,x=125,則計(jì)算出m=12,而y=840,y=100,則n=8。
步驟s7:繪制波形顯示網(wǎng)格
確定水平方向數(shù)量m=12和垂直方向數(shù)量n=8后,在波形繪制區(qū)中繪制波形顯示網(wǎng)格,至此完成了屏幕多分辨率適配,在智能終端上的效果如圖4(a)所示。
將按照上述方法完成的智能示波器分別運(yùn)行在兩個(gè)不同分辨率屏幕上的顯示效果如圖4所示。
圖4(a)反映的是運(yùn)行在分辨率為1920*1080的android智能終端上的效果,此時(shí)顯示波形的網(wǎng)格水平方向上有12格,包含1500個(gè)像素點(diǎn),而垂直方向上有8格,包含800個(gè)像素點(diǎn)。
圖4(b)反映的是運(yùn)行在分辨率為1280*768的智能終端設(shè)備上的效果,網(wǎng)格水平方向上有8格,包含1000個(gè)像素點(diǎn),而垂直方向上有6格,包含600個(gè)像素點(diǎn)。
對(duì)比兩圖可以看出圖4(b)的顯示結(jié)果為圖4(a)顯示結(jié)果中的一段。經(jīng)上述驗(yàn)證,本發(fā)明提出的多分辨率適配技術(shù)是可行的,且效果較好。
盡管上面對(duì)本發(fā)明說明性的具體實(shí)施方式進(jìn)行了描述,以便于本技術(shù)領(lǐng)域的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實(shí)施方式的范圍,對(duì)本技術(shù)領(lǐng)域的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。