終端動態(tài)適配的圖片處理方法
【專利摘要】本發(fā)明提供一種終端動態(tài)適配的圖片處理方法,包括:獲取用戶上傳的圖片,對所述圖片生成標(biāo)識;存儲所述圖片后生成所述圖片的鏈接地址并發(fā)布;其中,所述鏈接地址中攜帶有所述標(biāo)識;接收到終端根據(jù)所述圖片的鏈接地址生成的圖片獲取請求;其中,所述獲取請求攜帶所述標(biāo)識和圖片處理參數(shù);根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)對所述圖片進行處理后返回給所述終端。本發(fā)明還提供另一種終端動態(tài)適配的圖片處理方法,本發(fā)明不會浪費太多的服務(wù)器空間,且能完美適配各種尺寸的圖片容器。
【專利說明】終端動態(tài)適配的圖片處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及圖片處理【技術(shù)領(lǐng)域】,特別是涉及一種終端動態(tài)適配的圖片處理方法?!颈尘凹夹g(shù)】
[0002]隨著移動互聯(lián)網(wǎng)的發(fā)展,網(wǎng)站和應(yīng)用更加關(guān)注移動端的用戶體驗,而圖片的顯示質(zhì)量是影響用戶體驗的一個重要因素。但是移動終端的類型很多,規(guī)格也不盡相同。為了避免圖片在終端上被強制拉伸縮放造成失真,那就必須盡可能讓圖片的尺寸符合該終端的顯示規(guī)格。
[0003]目前行業(yè)的普遍做法是在圖片上傳的時候生成幾張?zhí)囟ǔ叽绲目s略圖,這種做法只能適配到主流的屏幕分辨率,當(dāng)遇到一些非主流分辨率的機型就不能很好的做適配。而且這種策略會生成多張不同尺寸的圖片保存在磁盤中,這多張不同尺寸的圖片不一定都會使用,這樣會造成服務(wù)器空間的浪費。
【發(fā)明內(nèi)容】
[0004]基于此,本發(fā)明提供一種終端動態(tài)適配的圖片處理方法,該方法不會浪費服務(wù)器空間,且能完美適配各種尺寸的圖片容器。
[0005]一種終端動態(tài)適配的圖片處理方法,包括如下步驟:
[0006]獲取用戶上傳的圖片,對所述圖片生成標(biāo)識;
[0007]存儲所述圖片后生成所述圖片的鏈接地址并發(fā)布;其中,所述鏈接地址中攜帶有所述標(biāo)識;
[0008]接收到終端根據(jù)所述圖片的鏈接地址生成的圖片獲取請求;其中,所述獲取請求攜帶所述標(biāo)識和圖片處理參數(shù);
[0009]根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)對所述圖片進行處理后返回給所述終端。
[0010]一種終端動態(tài)適配的圖片處理方法,包括如下步驟:
[0011]根據(jù)服務(wù)器發(fā)布的圖片,讀取所述圖片的鏈接地址,生成圖片獲取請求;其中,所述鏈接地址攜帶有所述圖片的標(biāo)識;
[0012]獲取圖片處理參數(shù),在所述圖片獲取請求中添加所述圖片處理參數(shù)后發(fā)送給所述服務(wù)器;
[0013]接收所述服務(wù)器根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)進行處理后返回的圖片。
[0014]上述終端動態(tài)適配的圖片處理方法,終端根據(jù)服務(wù)器發(fā)布的圖片,讀取所述圖片的鏈接地址,生成圖片獲取請求,請求中必須帶有圖片的標(biāo)識,以供服務(wù)器查找到對應(yīng)的圖片;同時,請求中還附帶終端自身所需的圖片處理參數(shù),服務(wù)器即可根據(jù)終端請求的圖片處理參數(shù),對圖片進行相應(yīng)的處理,使得服務(wù)器返回給終端的圖片符合終端的顯示要求;本發(fā)明輸出動態(tài)處理后的圖片后,并不會在服務(wù)端生成一個指定尺寸的圖片文件或生成一個可刪除的臨時文件,從而達到節(jié)省服務(wù)端存儲空間的效果;本發(fā)明能根據(jù)終端的尺寸或場景所需的尺寸處理得到與終端要求相適配的圖片,實現(xiàn)了對不同終端,不同場景的無縫對接;本發(fā)明通過在圖片獲取請求中攜帶圖片處理參數(shù),能完美適配各種尺寸的圖片容器,可同時對圖片做多種處理。
【專利附圖】
【附圖說明】
[0015]圖1為本發(fā)明終端動態(tài)適配的圖片處理方法在實施例一中的流程示意圖。
[0016]圖2為本發(fā)明終端動態(tài)適配的圖片處理方法在實施例二中的流程示意圖。
[0017]圖3為本發(fā)明終端動態(tài)適配的圖片處理方法在實施例三中的流程示意圖。
【具體實施方式】
[0018]下面結(jié)合實施例及附圖對本發(fā)明作進一步詳細(xì)說明,但本發(fā)明的實施方式不限于此。
[0019]實施例一、
[0020]如圖1所示,是本發(fā)明一種終端動態(tài)適配的圖片處理方法在一實施例中的流程示意圖,本實施例是從服務(wù)器的處理過程來闡述,包括如下步驟:
[0021 ] S11、獲取用戶上傳的圖片,對所述圖片生成標(biāo)識;
[0022]用戶上傳圖片到服務(wù)器,服務(wù)器對每張圖片生成一個唯一標(biāo)識;
[0023]在一較佳實施例中,可通過消息摘要算法生成所述圖片的標(biāo)識,比如MD5算法,對圖片進行信息摘要的提取,生成的指紋或數(shù)字簽名作為圖片的標(biāo)識。
[0024]S12、存儲所述圖片后生成所述圖片的鏈接地址并發(fā)布;其中,所述鏈接地址中攜帶有所述標(biāo)識;
[0025]存儲獲取到的圖片,對該圖片生成對應(yīng)的鏈接地址并發(fā)布,可供終端需要查閱該圖片時根據(jù)該圖片的鏈接地址發(fā)送圖片獲取請求;其中,鏈接地址中攜帶有該圖片的標(biāo)識,以供服務(wù)器分辨終端發(fā)出的圖片獲取請求查找到對應(yīng)的圖片。
[0026]在一較佳實施例中,還可包括如下步驟:
[0027]讀取所述圖片的參數(shù)信息,在存儲所述圖片時將所述圖片存儲在磁盤中,將所述圖片的參數(shù)信息存儲在數(shù)據(jù)庫,建立磁盤中的圖片與數(shù)據(jù)庫中的參數(shù)信息的對應(yīng)關(guān)系;
[0028]服務(wù)器在獲取到圖片后,讀取圖片的參數(shù)信息,參數(shù)信息可包括圖像分辨率、圖像大小、圖像名稱等,此類參數(shù)信息可存儲在數(shù)據(jù)庫中;而圖片文件則存儲在磁盤中,通過建立兩者的對應(yīng)關(guān)系,數(shù)據(jù)庫中的圖片參數(shù)信息記錄可跟磁盤上原圖文件一一對應(yīng)。
[0029]S13、接收到終端根據(jù)所述圖片的鏈接地址生成的圖片獲取請求;其中,所述獲取請求攜帶所述標(biāo)識和圖片處理參數(shù);
[0030]終端向服務(wù)器發(fā)送獲取圖片的請求時,請求中必須帶有圖片的標(biāo)識,以供服務(wù)器查找到對應(yīng)的圖片;同時,請求中還附帶終端自身所需的圖片處理參數(shù),服務(wù)器即可根據(jù)終端請求的圖片處理參數(shù),對圖片進行相應(yīng)的處理,使得服務(wù)器返回給終端的圖片符合終端的顯示要求。
[0031]在一較佳實施例中,所述圖片處理參數(shù)包括圖片寬度、圖片高度、水印標(biāo)識和水印位置標(biāo)識、圖片旋轉(zhuǎn)角度或圖片裁剪范圍;[0032]進一步地,所述根據(jù)圖片處理參數(shù)對所述圖片進行處理的步驟可包括:
[0033]根據(jù)所述圖片寬度和/或圖片高度對所述圖片進行縮放處理;
[0034]或
[0035]根據(jù)所述旋轉(zhuǎn)角度對所述圖片進行旋轉(zhuǎn)處理;
[0036]或
[0037]根據(jù)所述水印標(biāo)識,查找對應(yīng)的水印圖片,將所述水印圖片按照所述水印位置標(biāo)識添加在所述圖片對應(yīng)的位置;
[0038]或
[0039]根據(jù)所述裁剪范圍對所述圖片進行裁剪處理。
[0040]例如,本實施例的圖片的標(biāo)識為:ACE86918A0819BB4096179756F419945;
[0041]服務(wù)器發(fā)布的圖片的鏈接地址為:
[0042]http://imgOOl.21cnimg.com/photos/album/20130830/o/ACE86918A0819BB4096179756F419945.jpg
[0043]上述的鏈接地址表示圖片的原圖文件地址;
[0044]當(dāng)終端想獲取寬度是200px的圖片,則可在原圖地址的基礎(chǔ)上替換1l為/m200/(也即是不裁切圖片,返回原圖等比例縮放到寬度為200px的圖片),可發(fā)出如下帶有圖片處理參數(shù)(寬度為200px)的圖片請求:
[0045]http://imgOOl.21cnimg.com/photos/album/20130830/m200/ACE86918A0819BB4096179756F419945.jpg:
[0046]當(dāng)終端想獲取寬度為200px且高度為200px的圖片,則可在原圖地址的基礎(chǔ)上替換/o/為/s200x200/ (會裁切部分圖片,等比例縮放一定大小后裁切圖片寬高然后返回);
[0047]最終的圖片請求可為:
[0048]http://imgOOl.21cnimg.com/photos/album/20130830/s200x200/ACE86918A0819BB4096179756F419945.jpg ;
[0049]當(dāng)終端想獲取寬度為200px高度為200px且?guī)в幸粋€居中的水印,則在原圖地址的基礎(chǔ)上替換/o/為/s200x200/,并把/album/替換為/et_5/ (et是水印圖標(biāo)識,5是水印位置標(biāo)識,可以有無數(shù)種組合);
[0050]最終的圖片請求可為:
[0051]http://imgOOl.21cnimg.com/photos/et 5/20130830/s200x200/ACE86918A0819BB4096179756F419945.jpg ;
[0052]當(dāng)終端想獲取寬度為600,順時針旋轉(zhuǎn)30度的圖片,則可在原圖地址的基礎(chǔ)上替換 /o/ 為 /m600_r30/ ;
[0053]最終的圖片請求可為:
[0054]http://imgOOl.21cnimg.com/photos/album/20130830/m600 r30/ACE86918A0819BB4096179756F419945.jpg ;
[0055]當(dāng)終端想獲取圖片中的特定范圍的圖像,從圖片左上角作為參照點往右偏移8個像素,往下偏移11個像素,把這個點作為圖片的左上角,截取一塊尺寸為290x111的圖像,則在原圖地址的基礎(chǔ)上替換/o/為/clOO-8-l 1-290-11l_r0/ ;
[0056]最終的圖片請求可為:[0057]http://imgOOl.21cnimg.com/photos/album/20130830/c10Q-8-11-29Q-111 rO/ACE86918A0819BB4096179756F419945.jpg0
[0058]S14、根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)對所述圖片進行處理后返回給所述終端;
[0059]服務(wù)器則根據(jù)終端發(fā)出的圖片獲取請求,根據(jù)圖片標(biāo)識在磁盤中查找到對應(yīng)的圖片,根據(jù)請求中攜帶的圖片處理參數(shù),對圖片文件進行處理后,將處理后的圖片返回給終端。
[0060]本步驟中,服務(wù)器輸出動態(tài)處理后的圖片后,與現(xiàn)有技術(shù)相比,服務(wù)器只需儲存一張原圖,并不會生成一個指定尺寸的圖片文件或生成一個可刪除的臨時文件,從而達到節(jié)省服務(wù)端存儲空間的效果。
[0061]在一較佳實施例中,服務(wù)器在返回處理后圖片時,可將所述圖片通過二進制流輸出至所述終端,可使圖片的傳輸更加快速。
[0062]實施例二、
[0063]如圖2所示,是本發(fā)明一種終端動態(tài)適配的圖片處理方法在另一實施例中的流程示意圖,本實施例從終端的處理過程來闡述,可包括如下步驟:
[0064]S21、根據(jù)服務(wù)器發(fā)布的圖片,讀取所述圖片的鏈接地址,生成圖片獲取請求;其中,所述鏈接地址攜帶有所述圖片的標(biāo)識;
[0065]S22、獲取圖片處理參數(shù),在所述圖片獲取請求中添加所述圖片處理參數(shù)后發(fā)送給所述服務(wù)器;
[0066]S23、接收所述服務(wù)器根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)進行處理后返回的圖片;
[0067]本實施例中,終端根據(jù)服務(wù)器發(fā)布的圖片,讀取所述圖片的鏈接地址,生成圖片獲取請求,請求中必須帶有圖片的標(biāo)識,以供服務(wù)器查找到對應(yīng)的圖片;同時,終端根據(jù)自身所需獲取圖片處理參數(shù),在發(fā)給服務(wù)器的圖片獲取請求中附帶該圖片處理參數(shù),服務(wù)器即可根據(jù)終端請求的圖片處理參數(shù),對圖片進行相應(yīng)的處理,使得服務(wù)器返回給終端的圖片符合終端的顯示要求。
[0068]在一較佳實施例中,所述圖片處理參數(shù)可包括圖片寬度、圖片高度、水印標(biāo)識和水印位置標(biāo)識、圖片旋轉(zhuǎn)角度或圖片裁剪范圍。
[0069]所述接收所述服務(wù)器根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)進行處理后返回的圖片的步驟為:
[0070]接收所述服務(wù)器根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)進行如下處理后返回的圖片:
[0071]根據(jù)所述圖片寬度和/或圖片高度對所述圖片進行縮放處理;
[0072]或
[0073]根據(jù)所述旋轉(zhuǎn)角度對所述圖片進行旋轉(zhuǎn)處理;
[0074]或
[0075]根據(jù)所述水印標(biāo)識,查找對應(yīng)的水印圖片,將所述水印圖片按照所述水印位置標(biāo)識添加在所述圖片對應(yīng)的位置;
[0076]或[0077]根據(jù)所述裁剪范圍對所述圖片進行裁剪處理。
[0078]在一較佳實施例中,接收所述服務(wù)器通過二進制流輸出的圖片,通過將圖片轉(zhuǎn)換為二進制流可使圖片的傳輸更加快速。
[0079]實施例三、
[0080]如圖3所示,本發(fā)明從服務(wù)器和終端的雙向交互為例進行說明,包括如下步驟:[0081 ] S31、獲取用戶上傳的圖片,對所述圖片生成標(biāo)識;
[0082]S32、存儲所述圖片后生成所述圖片的鏈接地址并發(fā)布;其中,所述鏈接地址中攜帶有所述標(biāo)識;
[0083]S33、根據(jù)服務(wù)器發(fā)布的圖片,讀取所述圖片的鏈接地址,生成圖片獲取請求;其中,所述鏈接地址攜帶有所述圖片的標(biāo)識;
[0084]S34、獲取圖片處理參數(shù),在所述圖片獲取請求中添加所述圖片處理參數(shù)后發(fā)送給所述服務(wù)器;
[0085]S35、接收到終端根據(jù)所述圖片的鏈接地址生成的圖片獲取請求;其中,所述獲取請求攜帶所述標(biāo)識和圖片處理參數(shù);
[0086]S36、根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)對所述圖片進行處理后返回給所述終端。
[0087]S37、接收所述服務(wù)器根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)進行處理后返回的圖片;
[0088]本實施例中,用戶上傳圖片到服務(wù)器,服務(wù)器對每張圖片生成一個唯一標(biāo)識;接著服務(wù)器存儲獲取到的圖片,對該圖片生成對應(yīng)的鏈接地址并發(fā)布,終端根據(jù)服務(wù)器發(fā)布的圖片,讀取所述圖片的鏈接地址,生成圖片獲取請求,請求中必須帶有圖片的標(biāo)識,以供服務(wù)器查找到對應(yīng)的圖片;同時,終端根據(jù)自身所需獲取圖片處理參數(shù),在發(fā)給服務(wù)器的圖片獲取請求中附帶該圖片處理參數(shù),服務(wù)器即可根據(jù)終端請求的圖片處理參數(shù),對圖片進行相應(yīng)的處理,使得服務(wù)器返回給終端的圖片符合終端的顯示要求。
[0089]本發(fā)明終端動態(tài)適配的圖片處理方法,終端根據(jù)服務(wù)器發(fā)布的圖片,讀取所述圖片的鏈接地址,生成圖片獲取請求,請求中必須帶有圖片的標(biāo)識,以供服務(wù)器查找到對應(yīng)的圖片;同時,請求中還附帶終端自身所需的圖片處理參數(shù),服務(wù)器即可根據(jù)終端請求的圖片處理參數(shù),對圖片進行相應(yīng)的處理,使得服務(wù)器返回給終端的圖片符合終端的顯示要求;本發(fā)明輸出動態(tài)處理后的圖片后,并不會在服務(wù)端生成一個指定尺寸的圖片文件或生成一個可刪除的臨時文件,從而達到節(jié)省服務(wù)端存儲空間的效果;本發(fā)明能根據(jù)終端的尺寸或場景所需的尺寸處理得到與終端要求相適配的圖片,實現(xiàn)了對不同終端,不同場景的無縫對接;本發(fā)明通過在圖片獲取請求中攜帶圖片處理參數(shù),能完美適配各種尺寸的圖片容器,可同時對圖片做多種處理。
[0090]以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種終端動態(tài)適配的圖片處理方法,其特征在于,包括如下步驟: 獲取用戶上傳的圖片,對所述圖片生成標(biāo)識; 存儲所述圖片后生成所述圖片的鏈接地址并發(fā)布;其中,所述鏈接地址中攜帶有所述標(biāo)識; 接收到終端根據(jù)所述圖片的鏈接地址生成的圖片獲取請求;其中,所述獲取請求攜帶所述標(biāo)識和圖片處理參數(shù); 根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)對所述圖片進行處理后返回給所述終。
2.根據(jù)權(quán)利要求1所述的終端動態(tài)適配的圖片處理方法,其特征在于,所述圖片處理參數(shù)包括圖片寬度、圖片高度、水印標(biāo)識和水印位置標(biāo)識、圖片旋轉(zhuǎn)角度或圖片裁剪范圍。
3.根據(jù)權(quán)利要求2所述的終端動態(tài)適配的圖片處理方法,其特征在于,所述根據(jù)圖片處理參數(shù)對所述圖片進行處理的步驟包括: 根據(jù)所述圖片寬度和 /或圖片高度對所述圖片進行縮放處理; 或 根據(jù)所述旋轉(zhuǎn)角度對所述圖片進行旋轉(zhuǎn)處理; 或 根據(jù)所述水印標(biāo)識,查找對應(yīng)的水印圖片,將所述水印圖片按照所述水印位置標(biāo)識添加在所述圖片對應(yīng)的位置; 或 根據(jù)所述裁剪范圍對所述圖片進行裁剪處理。
4.根據(jù)權(quán)利要求1所述的終端動態(tài)適配的圖片處理方法,其特征在于,在獲取用戶上傳的圖片時,還包括如下步驟: 讀取所述圖片的參數(shù)信息,在存儲所述圖片時將所述圖片存儲在磁盤中,將所述圖片的參數(shù)信息存儲在數(shù)據(jù)庫,建立磁盤中的圖片與數(shù)據(jù)庫中的參數(shù)信息的對應(yīng)關(guān)系。
5.根據(jù)權(quán)利要求1所述的終端動態(tài)適配的圖片處理方法,其特征在于,通過消息摘要算法生成所述圖片的標(biāo)識。
6.根據(jù)權(quán)利要求1所述的終端動態(tài)適配的圖片處理方法,其特征在于,在返回處理后圖片時,將所述圖片通過二進制流輸出至所述終端。
7.—種終端動態(tài)適配的圖片處理方法,其特征在于,包括如下步驟: 根據(jù)服務(wù)器發(fā)布的圖片,讀取所述圖片的鏈接地址,生成圖片獲取請求;其中,所述鏈接地址攜帶有所述圖片的標(biāo)識; 獲取圖片處理參數(shù),在所述圖片獲取請求中添加所述圖片處理參數(shù)后發(fā)送給所述服務(wù)器; 接收所述服務(wù)器根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)進行處理后返回的圖片。
8.根據(jù)權(quán)利要求7所述的終端動態(tài)適配的圖片處理方法,其特征在于,所述圖片處理參數(shù)包括圖片寬度、圖片高度、水印標(biāo)識和水印位置標(biāo)識、圖片旋轉(zhuǎn)角度或圖片裁剪范圍。
9.根據(jù)權(quán)利要求8所述的終端動態(tài)適配的圖片處理方法,其特征在于,所述接收所述服務(wù)器根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)進行處理后返回的圖片的步驟為: 接收所述服務(wù)器根據(jù)所述標(biāo)識查找到所述圖片,并根據(jù)圖片處理參數(shù)進行如下處理后返回的圖片: 根據(jù)所述圖片寬度和/或圖片高度對所述圖片進行縮放處理; 或 根據(jù)所述旋轉(zhuǎn)角度對所述圖片進行旋轉(zhuǎn)處理; 或 根據(jù)所述水印標(biāo)識,查找對應(yīng)的水印圖片,將所述水印圖片按照所述水印位置標(biāo)識添加在所述圖片對應(yīng)的位置; 或 根據(jù)所述裁剪范圍對所述圖片進行裁剪處理。
10.根據(jù)權(quán)利要求7所述的終端動態(tài)適配的圖片處理方法,其特征在于,接收所述服務(wù)器通過二進制流輸出的圖片。`
【文檔編號】G06T1/00GK103729825SQ201310754591
【公開日】2014年4月16日 申請日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】周國盛, 張穎, 陳劍恒, 司徒海富 申請人:世紀(jì)龍信息網(wǎng)絡(luò)有限責(zé)任公司