專(zhuān)利名稱:圖片自適應(yīng)處理方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件開(kāi)發(fā)技術(shù)領(lǐng)域,特別是涉及圖片自適應(yīng)處理方法及裝置。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來(lái)越多的軟件開(kāi)發(fā)公司投身移動(dòng)互聯(lián)網(wǎng)的開(kāi)發(fā),希望提供具備優(yōu)秀用戶體驗(yàn)的客戶端產(chǎn)品,搶占用戶市場(chǎng);與此同時(shí),也有越來(lái)越多的公司投身手機(jī)等移動(dòng)設(shè)備的生產(chǎn),各種型號(hào)的手機(jī)層出不窮,特別是在追求大屏幕用戶體驗(yàn)的當(dāng)下,手機(jī)屏幕分辨率越來(lái)越多,現(xiàn)在主流的就有:320X240、320X480、854X480、800X480,960X640 等。在大多軟件中,圖片都是必不可少的,例如程序的主界面背景對(duì)應(yīng)一幅圖片,等等,在軟件開(kāi)發(fā)的過(guò)程中,只能為每個(gè)圖片設(shè)置固定的大小,使其能夠適應(yīng)某種屏幕分辨率。但是,同一個(gè)軟件卻可能會(huì)被不同的用戶在不同的手機(jī)上使用,如果手機(jī)的分辨率與該圖片適用的分辨率不符,則可能會(huì)出現(xiàn)問(wèn)題。比如適應(yīng)320X240分辨率的一張背景圖,如果放到320X480的手機(jī)上做背景圖,則默認(rèn)只會(huì)占據(jù)屏幕的一半,若將該圖片拉伸屏幕,則圖片信息會(huì)失真,產(chǎn)生模糊或類(lèi)似馬賽克的效果,如圖1所示,左邊為原始圖片,右邊為拉伸后效果,可見(jiàn),拉伸后圓角鋸齒明顯,中間的圖像也變得模糊,不夠清晰。為了避免這種現(xiàn)象的產(chǎn)生,一種現(xiàn)有技術(shù)的方法可以是:針對(duì)每種屏幕分辨率各做一套圖片,軟件發(fā)布時(shí)有兩種方式:(I)每種分辨率發(fā)布一個(gè)軟件安裝包,用戶安裝時(shí)先選擇具體機(jī)型或分辨率,然后再下載;(2)所有分辨率的圖片資源合到一個(gè)安裝包中,針對(duì)某操作系統(tǒng)僅發(fā)布一個(gè)安裝包,程序運(yùn)行時(shí)動(dòng)態(tài)獲得當(dāng)前手機(jī)分辨率,從而動(dòng)態(tài)決定使用哪套系統(tǒng)資源。這種方式雖然能夠解決上述問(wèn)題,但是其缺點(diǎn)在于,會(huì)增加軟件的開(kāi)發(fā)成本。另一種現(xiàn)有技術(shù)是,能夠僅針對(duì)某種屏幕分辨率做一套圖片,并使得圖片具有自適應(yīng)屏幕分辨率的能力,也就是說(shuō),圖片可以隨著屏幕分辨率進(jìn)行縮放。具體做法可以是,在原始圖片左邊、上邊各畫(huà)一條控制線,如圖2-1所示;從而將原始圖片分割成9個(gè)區(qū)域,如圖2-1所示??s放時(shí)的核心思想是保留核心區(qū)域不變,拉伸不重要區(qū)域。對(duì)應(yīng)圖2-1,從“上邊控制線”垂直向下劃出的編號(hào)為2、5、8的區(qū)域,為當(dāng)前圖片在橫向拉伸時(shí),允許拉伸的區(qū)域,稱為橫向拉伸區(qū);因此圖2-1在橫向拉伸時(shí),2、5、8區(qū)域會(huì)被橫向拉伸,其它區(qū)域保持不變,若原始圖在縱向拉伸時(shí),則4、5、6區(qū)域會(huì)被縱向拉伸,其它區(qū)域保持不變(如圖2-2所示)。從圖2-2可以看出,雖然其他區(qū)域保持不變,但是顯然橫向拉伸區(qū)及縱向拉伸區(qū)的圖像仍然會(huì)出現(xiàn)失真的現(xiàn)象,該區(qū)域的圖像會(huì)非常模糊。
發(fā)明內(nèi)容
本發(fā)明提供了圖片自適應(yīng)處理方法及裝置,能夠在放大圖片的過(guò)程中,防止圖片發(fā)生失真。本發(fā) 明提供了如下方案:
一種圖片自適應(yīng)處理方法,包括:確定待處理的目標(biāo)圖片;獲取當(dāng)前終端設(shè)備的屏幕分辨率;對(duì)所述目標(biāo)圖片進(jìn)行切分,得到以下子圖片:位于目標(biāo)圖片四個(gè)角位置的四個(gè)角圖片、位于目標(biāo)圖片四個(gè)邊位置的四個(gè)矩形圖片、以及位于目標(biāo)圖片中心位置的一個(gè)矩形圖片;通過(guò)以下方式對(duì)所述目標(biāo)圖片進(jìn)行放大處理:按照當(dāng)前屏幕分辨率生成匹配尺寸的新圖片,將所述四個(gè)角圖片分別按照原尺寸繪制在新圖片的四個(gè)角位置,將新圖片的剩余區(qū)域劃分為四個(gè)邊位置和一個(gè)中心位置,將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪;在當(dāng)前屏幕中顯示所述新圖片。優(yōu)選的,所述角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,還包括:獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示;所述將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪,包括:根據(jù)所述四個(gè)不規(guī)則圖片的尺寸計(jì)算出在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo)及結(jié)束坐標(biāo),按照所述起始坐標(biāo)及結(jié)束坐標(biāo)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。
優(yōu)選的,所述角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,還包括:獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示;所述將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪,包括:獲取所述新圖片中各個(gè)邊位置及中心位置上的矩形的尺寸;根據(jù)所述不規(guī)則圖片的尺寸確定在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo),并根據(jù)所述新圖片中各個(gè)位置上的矩形尺寸與原始目標(biāo)圖片中對(duì)應(yīng)位置上的矩形尺寸之間的比例,確定各個(gè)位置上進(jìn)行平鋪時(shí),平鋪的方向,以及平鋪的原始目標(biāo)圖片的數(shù)目,按照所述起始坐標(biāo)、方向以及數(shù)據(jù)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。優(yōu)選的,所述確定各個(gè)位置上進(jìn)行平鋪時(shí),平鋪的方向,包括:對(duì)于左右兩側(cè)的邊位置,將平鋪的方向確定為在垂直方向上進(jìn)行平鋪;對(duì)于上下兩側(cè)的邊位置,將平鋪的方向確定為在水平方向上進(jìn)行平鋪;對(duì)于中間位置,將平鋪的方向確定為在水平和/或垂直方向上進(jìn)行平鋪。優(yōu)選的,所述不規(guī)則邊為弧形邊。一種圖片自適應(yīng)處理裝置,包括:目標(biāo)圖片確定單元,用于確定待處理的目標(biāo)圖片;屏幕分辨率獲取單元,用于獲取當(dāng)前終端設(shè)備的屏幕分辨率;圖片切分單元,用于對(duì)所述目標(biāo)圖片進(jìn)行切分,得到以下子圖片:位于目標(biāo)圖片四個(gè)角位置的四個(gè)角圖片、位于目標(biāo)圖片四個(gè)邊位置的四個(gè)矩形圖片、以及位于目標(biāo)圖片中心位置的一個(gè)矩形圖片;放大處理單元,用于通過(guò)以下方式對(duì)所述目標(biāo)圖片進(jìn)行放大處理:按照當(dāng)前屏幕分辨率生成匹配尺寸的新圖片,將所述四個(gè)不規(guī)則圖片分別按照原尺寸繪制在新圖片的四個(gè)角位置,將新圖片的剩余區(qū)域劃分為四個(gè)邊位置和一個(gè)中心位置,將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪;圖片顯示單元,用于在當(dāng)前屏幕中顯示所述新圖片。優(yōu)選的,所述角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,還包括:尺寸獲取單元,用于獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示;所述放大處理單元包括:第一平鋪?zhàn)訂卧糜诟鶕?jù)所述四個(gè)不規(guī)則圖片的尺寸計(jì)算出在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo)及結(jié)束坐標(biāo),按照所述起始坐標(biāo)及結(jié)束坐標(biāo)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。優(yōu)選的,所述角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,還包括: 尺寸獲取單元,用于獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示;所述放大處理單元包括:新圖片尺寸獲取單元,用于獲取所述新圖片中各個(gè)邊位置及中心位置上的矩形的尺寸;第二平鋪?zhàn)訂卧?,用于根?jù)所述不規(guī)則圖片的尺寸確定在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo),并根據(jù)所述新圖片中各個(gè)位置上的矩形尺寸與原始目標(biāo)圖片中對(duì)應(yīng)位置上的矩形尺寸之間的比例,確定各個(gè)位置上進(jìn)行平鋪時(shí),平鋪的方向,以及平鋪的原始目標(biāo)圖片的數(shù)目,按照所述起始坐標(biāo)、方向以及數(shù)據(jù)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。優(yōu)選的,所述第二平鋪?zhàn)訂卧唧w用于:對(duì)于左右兩側(cè)的邊位置,將平鋪的方向確定為在垂直方向上進(jìn)行平鋪;對(duì)于上下兩側(cè)的邊位置,將平鋪的方向確定為在水平方向上進(jìn)行平鋪;對(duì)于中間位置,將平鋪的方向確定為在水平和/或垂直方向上進(jìn)行平鋪。優(yōu)選的,所述不規(guī)則邊為弧形邊。根據(jù)本發(fā)明提供的具體實(shí)施例,本發(fā)明公開(kāi)了以下技術(shù)效果:通過(guò)本發(fā)明,所有分辨率都僅需維護(hù)一套圖片資源即可,極大減少團(tuán)隊(duì)維護(hù)工作量;與所有分辨率的圖片資源合到一個(gè)安裝包中的方案相比,更是極大減小了安裝包的大小,降低用戶下載流量,縮短下載等待時(shí)間;另外,由于對(duì)于角位置之外的其他區(qū)域采用的是平鋪而非拉伸的方案,故在非純色的情況下,圖片一樣不會(huì)失真。也因此本申請(qǐng)實(shí)施例中每張圖片可以做的足夠小,比如:10*10的分辨率,當(dāng)在某個(gè)分辨率屏幕(960*640)上使用時(shí),再動(dòng)態(tài)生成對(duì)應(yīng)分辨率的圖片,故圖片資源大小可以非常小,極大減少安裝包的大小,從而提高用戶下載軟件的速度。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是現(xiàn)有技術(shù)提供的圖片放大方案中圖片放大前后的示意圖;圖2-1、2_2是現(xiàn)有技術(shù)提供的另一圖片放大方案中圖片放大前后的示意3是本發(fā)明實(shí)施例提供的方法的流程圖;圖4是本發(fā)明實(shí)施例提供的方法中圖片切分示意圖;圖5是本發(fā)明實(shí)施例提供的方法中放大后的圖片示意圖;圖6是本發(fā)明實(shí)施例提供的裝置的示意圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見(jiàn)圖3,本發(fā)明實(shí)施例提供的圖片自適應(yīng)處理方法可以包括以下步驟:S301:確定待處理的目標(biāo)圖片;這里的目標(biāo)圖片可以是軟件界面的背景圖片等,在軟件啟動(dòng)時(shí),或者進(jìn)入某指定界面時(shí),如果涉及到圖片顯示,則可以將對(duì)應(yīng)的圖片確定為待處理的目標(biāo)圖片。在本發(fā)明實(shí)施例中,目標(biāo)圖片可以是類(lèi)矩形,也可以是矩形。當(dāng)然,在本發(fā)明實(shí)施例中,以目標(biāo)圖片為類(lèi)矩形進(jìn)行舉例說(shuō)明,類(lèi)矩形并不是嚴(yán)格意義上的矩形,而是在四個(gè)角位置上存在有不規(guī)則形狀的曲線,例如,圖1中所示的圓角矩形就是這種類(lèi)矩形中的一種,對(duì)于圓角矩形而言,四個(gè)角位置上的不規(guī)則曲線是一種弧線。對(duì)于這種類(lèi)矩形的圖片而言,如果直接進(jìn)行拉伸,則四個(gè)角位置所在的邊緣處一般會(huì)出現(xiàn)鋸齒狀的失真現(xiàn)象。在本發(fā)明實(shí)施例中,如果是矩形,即是一般意義上的直角矩形,則四個(gè)角位置均是規(guī)則形狀的曲線,直接采用本發(fā)明實(shí)施例公開(kāi)的實(shí)施方式進(jìn)行圖片自適應(yīng)處理即可。S302:獲取當(dāng)前終端設(shè)備的屏幕分辨率;終端設(shè)備的屏幕分辨率屬于終端設(shè)備的一種屬性,系統(tǒng)會(huì)提供查找這種屬性值的接口,因此可以通過(guò)這種接口查找到當(dāng)前終端設(shè)備的屏幕分辨率。S303:對(duì)所述目標(biāo)圖片進(jìn)行切分,得到以下子圖片:位于目標(biāo)圖片四個(gè)角位置的四個(gè)角圖片、位于目標(biāo)圖片四個(gè)邊位置的四個(gè)矩形圖片、以及位于目標(biāo)圖片中心位置的一個(gè)矩形圖片;如果目標(biāo)圖片的尺寸小于當(dāng)前的屏幕分辨率,則需要首先對(duì)目標(biāo)圖片進(jìn)行處理,在本發(fā)明實(shí)施例中,首先對(duì)目標(biāo)圖片進(jìn)行切分,如圖4所示,可以將一個(gè)圓角矩形切分成9個(gè)區(qū)域,其中包括位于目標(biāo)圖片四個(gè)角位置的四個(gè)角圖片(在圖4中以圓角矩形為例,其中,角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,對(duì)應(yīng)圖4中編號(hào)為1、2、3、4的四個(gè)部分)、位于目標(biāo)圖片四個(gè)邊位置的四個(gè)矩形圖片(對(duì)應(yīng)圖4中編號(hào)為5、6、8、9的四個(gè)部分)、以及位于目標(biāo)圖片中心位置的一個(gè)矩形圖片(對(duì)應(yīng)圖4中編號(hào)為7的部分)。當(dāng)然,本發(fā)明實(shí)施例還可以適用于不為弧形邊圓角的矩形圖片,本發(fā)明實(shí)施例中只是以四個(gè)具有兩個(gè)直角邊和一個(gè)弧形邊的圓角圖片為例,并不限定于此。在劃分出上述子圖片之后,還可以獲取到各個(gè)區(qū)域的尺寸,其中,圓角圖片的尺寸可以由兩條直角邊的長(zhǎng)度來(lái)表示,各個(gè)矩形圖片的尺寸可以由長(zhǎng)和寬來(lái)表示。例如,如果4所示,假設(shè)預(yù)先給出編號(hào)為I和編號(hào)為4的兩個(gè)圓角圖片的尺寸,分別為:(X1、Y1)和(X2、Y2),而原始目標(biāo)圖片的分辨率我們是可以知道的,例如為(X,Y),由此可獲得其他各子圖片尺寸。如圖4中所示的,假設(shè)編號(hào)為5的矩形圖片的長(zhǎng)為X3 = X-X1-X2,編號(hào)為6的矩形圖片的長(zhǎng)為Y3 = Y-Y1-Y2 ;進(jìn)而,5號(hào)矩形圖片的尺寸為(X3,Yl),6號(hào)矩形圖片的尺寸為(X1,Y3),8號(hào)矩形圖片的尺寸為(Χ2,Υ3),9號(hào)矩形圖片的尺寸為(Χ3,Υ2),7號(hào)矩形圖片的尺寸為(Χ3, Υ3)。S304:通過(guò)以下方式對(duì)所述目標(biāo)圖片進(jìn)行放大處理:按照當(dāng)前屏幕分辨率生成匹配尺寸的新圖片,將所述四個(gè)不規(guī)則圖片分別按照原尺寸繪制在新圖片的四個(gè)角位置,將新圖片的剩余區(qū)域劃分為四個(gè)邊位置和一個(gè)中心位置,將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪;在對(duì)原始目標(biāo)圖片進(jìn)行了上述切分之后,可以首先按照當(dāng)前屏幕分辨率生成匹配尺寸的新圖片,也即,假設(shè)屏幕分辨率為Χη*Υη,則新圖片的尺寸為(Xn,Yn) 在剛剛生成時(shí),該新圖片可以是一個(gè)空白的圖片,然后就可以按照原始目標(biāo)圖片,向該新圖片中繪制具體的內(nèi)容,最終得到一個(gè)新的圖片。具體在進(jìn)行繪制時(shí),可以首先將原始目標(biāo)圖片中的四個(gè)圓角圖片分別按照原尺寸繪制在新圖片的四個(gè)角位置,這樣,就可以將新圖片的剩余區(qū)域劃分為四個(gè)邊位置和一個(gè)中心位置,然后,就可以將原始目標(biāo)圖片中四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪,如圖5所示??梢?jiàn),最終生成的新圖片相對(duì)于原始目標(biāo)圖片而言,四個(gè)圓角區(qū)域的尺寸沒(méi)有發(fā)生變化,因此不會(huì)出現(xiàn)鋸齒、失真等現(xiàn)象,其他的矩形區(qū)域的尺寸也沒(méi)有發(fā)生變化,僅僅是在相應(yīng)的位置上分別進(jìn)行平鋪,因此,也·不會(huì)出現(xiàn)鋸齒、失真等現(xiàn)象。其中,具體在進(jìn)行各個(gè)矩形圖片的平鋪時(shí),可以首先計(jì)算出各個(gè)位置上進(jìn)行平鋪的起始坐標(biāo)及結(jié)束坐標(biāo),然后按照該坐標(biāo)進(jìn)行平鋪,以保證矩形圖片能夠鋪滿新圖片中對(duì)應(yīng)的區(qū)域,并且不會(huì)對(duì)其他區(qū)域的圖片造成覆蓋?;蛘?,也可以計(jì)算出新圖片中各個(gè)邊位置及中心位置上的矩形的尺寸,然后根據(jù)不規(guī)則圖片的尺寸確定在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo),并根據(jù)新圖片中各個(gè)位置上的矩形尺寸與原始目標(biāo)圖片中對(duì)應(yīng)位置上的矩形尺寸之間的比例,確定各個(gè)位置上進(jìn)行平鋪時(shí),平鋪的方向,以及平鋪的原始目標(biāo)圖片的數(shù)目,按照所述起始坐標(biāo)、方向以及數(shù)據(jù)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。例如,如圖5所示,首先,各個(gè)圓角圖片的尺寸沒(méi)有變化,也即,I號(hào)及4號(hào)的尺寸仍然為(Χ1、Υ1)和(Χ2、Υ2),又由于已知新圖片的尺寸為(Χη,Υη),因此,可以計(jì)算出圖5中5號(hào)區(qū)域的長(zhǎng)為Χ4 = Χη-Χ1-Χ2,編號(hào)為6的矩形圖片的長(zhǎng)為Υ4 = Yn-Y1-Υ2 ;進(jìn)而,5號(hào)矩形圖片的尺寸為(Χ4,Yl),6號(hào)矩形圖片的尺寸為(XI,Υ4),8號(hào)矩形圖片的尺寸為(Χ2,Υ4),9號(hào)矩形圖片的尺寸為(Χ4,Υ2),7號(hào)矩形圖片的尺寸為(Χ4,Υ4)。
其中,對(duì)于5號(hào)區(qū)域而言,由于新圖片與原始目標(biāo)圖片相比,寬Yl并未發(fā)生變化,因此,僅需要在水平方向上進(jìn)行平鋪,在水平方向上的起始點(diǎn)是XI,結(jié)束點(diǎn)是Xn_X2,需要平鋪的圖片數(shù)目就是(X4/X3)。類(lèi)似的,對(duì)于6號(hào)區(qū)域而言,由于新圖片與原始目標(biāo)圖片相比,寬X2并未發(fā)生變化,因此,僅需要在垂直方向上進(jìn)行平鋪,在垂直方向上的起始點(diǎn)是Y1,結(jié)束點(diǎn)是Yn_Y2,需要平鋪的圖片數(shù)目是(Υ4/Υ3)。相應(yīng)的,8號(hào)區(qū)域與6號(hào)區(qū)域類(lèi)似,9號(hào)區(qū)域與5號(hào)區(qū)域類(lèi)似。對(duì)于中間的7號(hào)區(qū)域而言,由于在水平及垂直方向向都發(fā)生了變化,因此,需要在水平及垂直方向上都進(jìn)行平鋪,起始點(diǎn)為(XI,Υ2),結(jié)束點(diǎn)為(Χη-Χ2,Υ-Υ2),在水平方向上平鋪的數(shù)目是(Χ4/Χ3),在垂直方向上需要平鋪的數(shù)目是(Υ4/Υ3)。需要說(shuō)明的是,在計(jì)算各個(gè)位置上需要平鋪的對(duì)應(yīng)位置上的圖片數(shù)目時(shí),所得的比值可能是整數(shù)也可能不是整數(shù),如果不是整數(shù),最后一張圖片只需要繪制一部分即可。另外,對(duì)于平鋪的結(jié)束坐標(biāo)以及平鋪的數(shù)目這兩個(gè)參數(shù),只需要獲取其中之一即可完成最終的平鋪操作。S305:在當(dāng)前屏幕中顯示所述新圖片。在生成了前述新圖片之后,就可以將其顯示在當(dāng)前屏幕中,該新的圖片能夠適應(yīng)當(dāng)前的屏幕分辨率,并且不存在鋸齒、模糊等失真的現(xiàn)象。為便于理解具體實(shí)現(xiàn)時(shí)的操作,下面通過(guò)一個(gè)具體的例子進(jìn)行介紹。當(dāng)圖片需要被拉伸成Χη*Υη時(shí),則可參照如下步驟生成新圖片(如下步驟僅為參考,同時(shí)也可以通過(guò)其它順序生成,比如從右下角開(kāi)始繪制):步驟1:在新圖片上繪制I號(hào)區(qū)域,使得新老圖片的區(qū)域I切圖保持大小相同;步驟2:通過(guò)Χη-Χ1_Χ2,得到新圖片區(qū)域5的寬度,使用原始圖片區(qū)域5的切圖,在新圖片區(qū)域5上水平方向重復(fù)平鋪,使得完全充滿新圖片的區(qū)域5 ;步驟3:在新圖片上繪制區(qū)域2,使得新老圖片的區(qū)域2切圖保持大小相同;步驟4:通過(guò)Υη-Υ1_Υ2得到新圖片區(qū)域6的高度,使用原始圖片區(qū)域6的切圖,在新圖片區(qū)域6垂直方向上重復(fù)平鋪,使得完全充滿新圖片的區(qū)域6;步驟5:使用原始圖片區(qū)域7的切圖,在新圖片區(qū)域7上水平方向重復(fù)平鋪,使得水平方向完全充滿新圖片的區(qū)域7 ;步驟6:在垂直方向上,重復(fù)步驟5,直到新圖片的區(qū)域7上垂直方向也充滿圖片為止;步驟7:同區(qū)域6的繪制方法,垂直方向上平鋪,使得充滿新圖片的區(qū)域8 ;步驟8:在新圖片上繪制區(qū)域3,使得新老圖片的區(qū)域3切圖保持大小相同;步驟9:同區(qū)域5的繪制方法,水平方向上平鋪,使得充滿新圖片的區(qū)域9 ;步驟10:在新圖片上繪制區(qū)域4,使得新老圖片的區(qū)域4切圖保持大小相同。最終繪制結(jié)束后得到的新圖片如圖5所示。需要說(shuō)明的是,本發(fā)明實(shí)施例的核心在于通過(guò)將原始圖片分割區(qū)域,保持四個(gè)角位置不變,其它區(qū)域均采用平鋪方式生成;為實(shí)現(xiàn)該目的,9個(gè)區(qū)域的先后繪制順序可自由定制,比如可從右下角區(qū)域開(kāi)始繪制,等等,只要符合四邊角不變,其它區(qū)域平鋪的方式生成新圖片的方法,都屬于本發(fā)明的保護(hù)范圍。總之,通過(guò)本發(fā)明的方法實(shí)施例,所有分辨率都僅需維護(hù)一套圖片資源即可,極大減少團(tuán)隊(duì)維護(hù)工作量;與所有分辨率的圖片資源合到一個(gè)安裝 包中的方案相比,更是極大減小了安裝包的大小,降低用戶下載流量,縮短下載等待時(shí)間;另外,由于對(duì)于角位置之外的其他區(qū)域采用的是平鋪而非拉伸的方案,故在非純色的情況下,圖片一樣不會(huì)失真。也因此每張圖片可以做的足夠小,比如:10*10的分辨率,當(dāng)在某個(gè)分辨率屏幕(960*640)上使用時(shí),再動(dòng)態(tài)生成對(duì)應(yīng)分辨率的圖片,故圖片資源大小可以非常小,極大減少安裝包的大小,從而提高用戶下載軟件的速度。需要說(shuō)明的是,本發(fā)明實(shí)施例涉及的方案,不僅適用于手機(jī)等移動(dòng)終端的客戶端軟件,對(duì)PC機(jī)上的客戶端軟件同樣適用。與本發(fā)明實(shí)施例提供的圖片自適應(yīng)處理方法相對(duì)應(yīng),本發(fā)明實(shí)施例還提供了一種圖片自適應(yīng)處理裝置,參見(jiàn)圖6,該裝置可以包括:目標(biāo)圖片確定單元601,用于確定待處理的目標(biāo)圖片;屏幕分辨率獲取單元602,用于獲取當(dāng)前終端設(shè)備的屏幕分辨率;圖片切分單元603,用于對(duì)所述目標(biāo)圖片進(jìn)行切分,得到以下子圖片:位于目標(biāo)圖片四個(gè)角位置的四個(gè)角圖片、位于目標(biāo)圖片四個(gè)邊位置的四個(gè)矩形圖片、以及位于目標(biāo)圖片中心位置的一個(gè)矩形圖片;放大處理單元604,用于通過(guò)以下方式對(duì)所述目標(biāo)圖片進(jìn)行放大處理:按照當(dāng)前屏幕分辨率生成匹配尺寸的新圖片,將所述四個(gè)角圖片分別按照原尺寸繪制在新圖片的四個(gè)角位置,將新圖片的剩余區(qū)域劃分為四個(gè)邊位置和一個(gè)中心位置,將所述四個(gè)邊位置的矩形圖片以及中心 位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪;圖片顯示單元605,用于在當(dāng)前屏幕中顯示所述新圖片。具體實(shí)現(xiàn)時(shí),所述角圖片可以為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,該裝置還可以包括:尺寸獲取單元,用于獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示;所述放大處理單元604可以包括:第一平鋪?zhàn)訂卧?,用于根?jù)所述四個(gè)不規(guī)則圖片的尺寸計(jì)算出在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo)及結(jié)束坐標(biāo),按照所述起始坐標(biāo)及結(jié)束坐標(biāo)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作?;蛘?,在另一種實(shí)現(xiàn)方式下,所述角圖片可以為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,所述放大處理單元604也可以包括:新圖片尺寸獲取單元,用于獲取所述新圖片中各個(gè)邊位置及中心位置上的矩形的尺寸;第二平鋪?zhàn)訂卧糜诟鶕?jù)所述不規(guī)則圖片的尺寸確定在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo),并根據(jù)所述新圖片中各個(gè)位置上的矩形尺寸與原始目標(biāo)圖片中對(duì)應(yīng)位置上的矩形尺寸之間的比例,確定各個(gè)位置上進(jìn)行平鋪時(shí),平鋪的方向,以及平鋪的原始目標(biāo)圖片的數(shù)目,按照所述起始坐標(biāo)、方向以及數(shù)據(jù)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。其中,所述第二平鋪?zhàn)訂卧唧w用于:對(duì)于左右兩側(cè)的邊位置,將平鋪的方向確定為在垂直方向上進(jìn)行平鋪;對(duì)于上下兩側(cè)的邊位置,將平鋪的方向確定為在水平方向上進(jìn)行平鋪;對(duì)于中間位置,將平鋪的方向確定為在水平和/或垂直方向上進(jìn)行平鋪。當(dāng)角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片時(shí),所述不規(guī)則邊可以為弧形邊。當(dāng)然,參考前面的方法實(shí)施例的介紹可知,角圖片也可以是規(guī)則邊??傊ㄟ^(guò)本發(fā)明的裝置實(shí)施例,所有分辨率都僅需維護(hù)一套圖片資源即可,極大減少團(tuán)隊(duì)維護(hù)工作量;與所有分辨率的圖片資源合到一個(gè)安裝包中的方案相比,更是極大減小了安裝包的大小,降低用戶下載流量,縮短下載等待時(shí)間;另外,由于對(duì)于角位置之外的其他區(qū)域采用的是平鋪而非拉伸的方案,故在非純色的情況下,圖片一樣不會(huì)失真。因此每張圖片可以做的足夠小,比如:10*10的分辨率,當(dāng)在某個(gè)分辨率屏幕(960*640)上使用時(shí),再動(dòng)態(tài)生成對(duì)應(yīng)分辨率的圖片,故圖片資源大小可以非常小,極大減少安裝包的大小,從而提高用戶下載軟件的速度。通過(guò)以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí) 施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的系統(tǒng)及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。以上對(duì)本發(fā)明所提供的圖片自適應(yīng)處理方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處。綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種圖片自適應(yīng)處理方法,其特征在于,包括: 確定待處理的目標(biāo)圖片; 獲取當(dāng)前終端設(shè)備的屏幕分辨率; 對(duì)所述目標(biāo)圖片進(jìn)行切分,得到以下子圖片:位于目標(biāo)圖片四個(gè)角位置的四個(gè)角圖片、位于目標(biāo)圖片四個(gè)邊位置的四個(gè)矩形圖片、以及位于目標(biāo)圖片中心位置的一個(gè)矩形圖片;通過(guò)以下方式對(duì)所述目標(biāo)圖片進(jìn)行放大處理:按照當(dāng)前屏幕分辨率生成匹配尺寸的新圖片,將所述四個(gè)角圖片分別按照原尺寸繪制在新圖片的四個(gè)角位置,將新圖片的剩余區(qū)域劃分為四個(gè)邊位置和一個(gè)中心位置,將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪; 在當(dāng)前屏幕中顯示所述新圖片。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,還包括: 獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示; 所述將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪,包括: 根據(jù)所述四個(gè)不規(guī)則圖片的尺寸計(jì)算出在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo)及結(jié)束坐標(biāo),按照所述起始坐標(biāo)及結(jié)束坐標(biāo)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。
3.根據(jù)權(quán)利要求1 所述的方法,其特征在于,所述角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,還包括: 獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示; 所述將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪,包括: 獲取所述新圖片中各個(gè)邊位置及中心位置上的矩形的尺寸; 根據(jù)所述不規(guī)則圖片的尺寸確定在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo),并根據(jù)所述新圖片中各個(gè)位置上的矩形尺寸與原始目標(biāo)圖片中對(duì)應(yīng)位置上的矩形尺寸之間的比例,確定各個(gè)位置上進(jìn)行平鋪時(shí),平鋪的方向,以及平鋪的原始目標(biāo)圖片的數(shù)目,按照所述起始坐標(biāo)、方向以及數(shù)據(jù)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述確定各個(gè)位置上進(jìn)行平鋪時(shí),平鋪的方向,包括: 對(duì)于左右兩側(cè)的邊位置,將平鋪的方向確定為在垂直方向上進(jìn)行平鋪; 對(duì)于上下兩側(cè)的邊位置,將平鋪的方向確定為在水平方向上進(jìn)行平鋪; 對(duì)于中間位置,將平鋪的方向確定為在水平和/或垂直方向上進(jìn)行平鋪。
5.根據(jù)權(quán)利要求2至4任一項(xiàng)所述的方法,其特征在于,所述不規(guī)則邊為弧形邊。
6.一種圖片自適應(yīng)處理裝置,其特征在于,包括: 目標(biāo)圖片確定單元,用于確定待處理的目標(biāo)圖片; 屏幕分辨率獲取單元,用于獲取當(dāng)前終端設(shè)備的屏幕分辨率; 圖片切分單元,用于對(duì)所述目標(biāo)圖片進(jìn)行切分,得到以下子圖片:位于目標(biāo)圖片四個(gè)角位置的四個(gè)角圖片、位于目標(biāo)圖片四個(gè)邊位置的四個(gè)矩形圖片、以及位于目標(biāo)圖片中心位置的一個(gè)矩形圖片; 放大處理單元,用于通過(guò)以下方式對(duì)所述目標(biāo)圖片進(jìn)行放大處理:按照當(dāng)前屏幕分辨率生成匹配尺寸的新圖片,將所述四個(gè)角圖片分別按照原尺寸繪制在新圖片的四個(gè)角位置,將新圖片的剩余區(qū)域劃分為四個(gè)邊位置和一個(gè)中心位置,將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪; 圖片顯示單元,用于在當(dāng)前屏幕中顯示所述新圖片。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,還包括: 尺寸獲取單元,用于獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示; 所述放大處理單元包括: 第一平鋪?zhàn)訂卧糜诟鶕?jù)所述四個(gè)不規(guī)則圖片的尺寸計(jì)算出在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo)及結(jié)束坐標(biāo),按照所述起始坐標(biāo)及結(jié)束坐標(biāo)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述角圖片為具有兩個(gè)直角邊和一個(gè)不規(guī)則形狀邊的不規(guī)則圖片,還包括: 尺寸獲取單元,用于獲取所述目標(biāo)圖片的尺寸以及各個(gè)子圖片的尺寸,其中,不規(guī)則圖片的尺寸由兩個(gè)直角邊的長(zhǎng)度來(lái)表示,矩形圖片的尺寸由矩形的長(zhǎng)和寬來(lái)表示; 所述放大處理單元包括: 新圖片尺寸獲取單元,用于獲取所述新圖片中各個(gè)邊位置及中心位置上的矩形的尺寸; 第二平鋪?zhàn)訂卧?,用于根?jù)所述不規(guī)則圖片的尺寸確定在新圖片的各個(gè)對(duì)應(yīng)位置上進(jìn)行平鋪時(shí)的起始坐標(biāo),并根據(jù)所述新圖片中各個(gè)位置上的矩形尺寸與原始目標(biāo)圖片中對(duì)應(yīng)位置上的矩形尺寸之間的比例,確定各個(gè)位置上進(jìn)行平鋪時(shí),平鋪的方向,以及平鋪的原始目標(biāo)圖片的數(shù)目,按照所述起始坐標(biāo)、方向以及數(shù)據(jù)進(jìn)行各個(gè)對(duì)應(yīng)位置上的平鋪操作。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述第二平鋪?zhàn)訂卧唧w用于: 對(duì)于左右兩側(cè)的邊位置,將平鋪的方向確定為在垂直方向上進(jìn)行平鋪; 對(duì)于上下兩側(cè)的邊位置,將平鋪的方向確定為在水平方向上進(jìn)行平鋪; 對(duì)于中間位置,將平鋪的方向確定為在水平和/或垂直方向上進(jìn)行平鋪。
10.根據(jù)權(quán)利要求7至9任一項(xiàng)所述的裝置,其特征在于,所述不規(guī)則邊為弧形邊。
全文摘要
本發(fā)明公開(kāi)了圖片自適應(yīng)處理方法及裝置,其中,所述方法包括確定待處理的目標(biāo)圖片;獲取當(dāng)前終端設(shè)備的屏幕分辨率;對(duì)所述目標(biāo)圖片進(jìn)行切分,得到以下子圖片四個(gè)角圖片、位于四個(gè)邊位置的四個(gè)矩形圖片、以及位于中心位置的一個(gè)矩形圖片;按照當(dāng)前屏幕分辨率生成匹配尺寸的新圖片,將所述四個(gè)角圖片分別按照原尺寸繪制在新圖片的四個(gè)角位置,將所述四個(gè)邊位置的矩形圖片以及中心位置的一個(gè)矩形圖片分別在新圖片對(duì)應(yīng)的位置上進(jìn)行平鋪;在當(dāng)前屏幕中顯示所述新圖片。通過(guò)本發(fā)明,能夠在放大圖片的過(guò)程中,防止圖片發(fā)生失真。
文檔編號(hào)G06T5/00GK103236042SQ20131015306
公開(kāi)日2013年8月7日 申請(qǐng)日期2013年4月27日 優(yōu)先權(quán)日2013年4月27日
發(fā)明者崔紅保 申請(qǐng)人:崔紅保