處理被旋轉(zhuǎn)后圖片的顯示位置的方法及裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法及裝置。該方法包括:讀取目標(biāo)圖片的字節(jié)流;根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含可交換圖像文件EXIF信息;若確定所述目標(biāo)圖片中包含EXIF信息,則根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息;根據(jù)所述圖片旋轉(zhuǎn)信息,旋轉(zhuǎn)所述目標(biāo)圖片到旋轉(zhuǎn)前的位置。
【專利說明】
處理被旋轉(zhuǎn)后圖片的顯示位置的方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及圖形圖片處理技術(shù)領(lǐng)域,尤其涉及一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法及裝置。
【背景技術(shù)】
[0002]有的用戶上傳了頭像到應(yīng)用上,結(jié)果頭像是倒置的。這是因?yàn)樵瓉碚掌膶傩灾写鎯?chǔ)了旋轉(zhuǎn)信息。通常,我們在手機(jī)上上傳了旋轉(zhuǎn)后圖片頭像到APP上的時(shí)候,之所以看到照片顯示的位置都很正確,其實(shí)是因?yàn)?s系統(tǒng),還有大部分的安卓系統(tǒng)發(fā)現(xiàn)圖片被旋轉(zhuǎn)了之后都有將圖片旋轉(zhuǎn)回來的處理。但是在部分android系統(tǒng)中,卻沒有做這種處理,由此導(dǎo)致被旋轉(zhuǎn)后的圖片上傳后仍舊在旋轉(zhuǎn)的角度上,影響了圖片的顯示效果。
[0003]經(jīng)過調(diào)研發(fā)現(xiàn),目前并沒有現(xiàn)成的java類庫來做這件事情,基本都是從系統(tǒng)層面就解決了這個(gè)問題。雖然可利用andr1d開發(fā)工具包和iphone開發(fā)工具包中的類庫進(jìn)行角度回旋,但是,jar包可有將近一個(gè)MB的容量,添加一個(gè)圖片處理類庫的大jar包進(jìn)來就只為獲取圖片的旋轉(zhuǎn)信息,占用的存儲(chǔ)資源較大,代碼中添加無用類庫,污染了代碼環(huán)境。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法及裝置,可以在不使用第三方類庫的前提下,解決旋轉(zhuǎn)后圖片的顯示位置異常的技術(shù)問題,同時(shí)節(jié)約存儲(chǔ)資源。
[0005]本發(fā)明實(shí)施例的一個(gè)方面是提供一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法,包括:
[0006]讀取目標(biāo)圖片的字節(jié)流;
[0007]根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含可交換圖像文件EXIF信息;
[0008]若確定所述目標(biāo)圖片中包含EXIF信息,則根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息;
[0009]根據(jù)所述圖片旋轉(zhuǎn)信息,旋轉(zhuǎn)所述目標(biāo)圖片到旋轉(zhuǎn)前的位置。
[0010]可選的,在根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含EXIF信息之前,該方法還包括:
[0011]根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片是否為合法圖片格式。
[0012]可選的,在所述根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含EXIF信息之后,該方法還包括:
[0013]確定包含的所述EXIF信息是否為合法格式。
[0014]可選的,所述根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息,具體包括:
[0015]根據(jù)所述EXIF信息確定所述目標(biāo)圖片的字節(jié)序列標(biāo)準(zhǔn);
[0016]根據(jù)確定所述字節(jié)序列標(biāo)準(zhǔn)確定所述目標(biāo)圖片是否為有效圖片;
[0017]若確定是有效圖片,則根據(jù)有效圖片的標(biāo)準(zhǔn)格式讀取旋轉(zhuǎn)標(biāo)簽位上的參數(shù)值;
[0018]根據(jù)所述參數(shù)值確定目標(biāo)圖片的圖片旋轉(zhuǎn)信息。
[0019]可選的在確定是有效圖片后,該方法還包括:確定有效圖片是否包含圖片旋轉(zhuǎn)信息。
[0020]本發(fā)明實(shí)施例的另一個(gè)方面是提供一種處理被旋轉(zhuǎn)后圖片的顯示位置的裝置,包括:
[0021]讀取模塊,用于讀取目標(biāo)圖片的字節(jié)流;
[0022]旋轉(zhuǎn)信息確定模塊,用于根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含可交換圖像文件EXIF信息;
[0023]旋轉(zhuǎn)信息獲取模塊,用于若旋轉(zhuǎn)信息確定模塊確定所述目標(biāo)圖片中包含EXIF信息,則根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息;
[0024]旋轉(zhuǎn)模塊,用于根據(jù)所述圖片旋轉(zhuǎn)信息,旋轉(zhuǎn)所述目標(biāo)圖片到旋轉(zhuǎn)前的位置。
[0025]可選的,還包括:
[0026]合法確定模塊,用于根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片是否為合法圖片格式。
[0027]可選的,所述旋轉(zhuǎn)信息確定模塊,還用于確定包含的所述EXIF信息是否為合法格式。
[0028]可選的,所述旋轉(zhuǎn)信息獲取模塊,具體用于根據(jù)所述EXIF信息確定所述目標(biāo)圖片的字節(jié)序列標(biāo)準(zhǔn);根據(jù)確定所述字節(jié)序列標(biāo)準(zhǔn)確定所述目標(biāo)圖片是否為有效圖片;若確定是有效圖片,則根據(jù)有效圖片的標(biāo)準(zhǔn)格式讀取旋轉(zhuǎn)標(biāo)簽位上的參數(shù)值;根據(jù)所述參數(shù)值確定目標(biāo)圖片的圖片旋轉(zhuǎn)信息。
[0029]可選的,該裝置還包括:
[0030]信息包含確定模塊,用于確定有效圖片是否包含圖片旋轉(zhuǎn)信息。
[0031]本發(fā)明實(shí)施例提供的處理被旋轉(zhuǎn)后圖片的顯示位置的方法及裝置,通過從目標(biāo)圖片的字節(jié)碼中讀取EXIF信息,并從該EXIF信息中獲取的圖片旋轉(zhuǎn)信息,在根據(jù)圖片旋轉(zhuǎn)信息對圖片進(jìn)行校正旋轉(zhuǎn),將其旋轉(zhuǎn)到旋轉(zhuǎn)前的位置的技術(shù)手段,解決了現(xiàn)有技術(shù)中,由于圖片被旋轉(zhuǎn)后,沒有經(jīng)過處理直接顯示導(dǎo)致的顯示位置異常的技術(shù)問題,進(jìn)而實(shí)現(xiàn)可以通過糾正圖片的顯示位置,同時(shí)節(jié)約存儲(chǔ)資源,便于實(shí)現(xiàn)和移植的技術(shù)效果。
【附圖說明】
[0032]圖1為本發(fā)明實(shí)施例提供的一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法流程圖;
[0033]圖2為本發(fā)明實(shí)施例提供的另一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法流程圖;
[0034]圖3為本發(fā)明實(shí)施例提供的Intel標(biāo)準(zhǔn)的EXIF信息字節(jié)碼片段的示意圖;
[0035]圖4為本發(fā)明實(shí)施例提供的Motorola標(biāo)準(zhǔn)的EXIF信息字節(jié)碼片段的示意圖;
[0036]圖5為本發(fā)明實(shí)施例提供的旋轉(zhuǎn)標(biāo)簽位上的參數(shù)值與旋轉(zhuǎn)信息之間的對應(yīng)含義關(guān)系示意圖。
[0037]圖6為本發(fā)明實(shí)施例提供的一種處理被旋轉(zhuǎn)后圖片的顯示位置的裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0038]本實(shí)施例提供一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法,如圖1所示,該方法適合部署在需要對旋轉(zhuǎn)的圖片進(jìn)行回旋處理的設(shè)備上,該方法包括:
[0039]101,讀取目標(biāo)圖片的字節(jié)流;
[0040]102,根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含可交換圖像文件EXIF信息;若確定所述目標(biāo)圖片中包含EXIF信息,則執(zhí)行103;否則,不處理。
[0041 ] 在確定包含EXIF信息后,該102還可包括如下步驟:
[0042]確定包含的所述EXIF信息是否為合法格式。
[0043]103,根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息;
[0044]該103可通過如下方式實(shí)現(xiàn):
[0045]根據(jù)所述EXIF信息確定所述目標(biāo)圖片的字節(jié)序列標(biāo)準(zhǔn);
[0046]根據(jù)確定所述字節(jié)序列標(biāo)準(zhǔn)確定所述目標(biāo)圖片是否為有效圖片;
[0047]若確定是有效圖片,則根據(jù)有效圖片的標(biāo)準(zhǔn)格式讀取旋轉(zhuǎn)標(biāo)簽位上的參數(shù)值;
[0048]根據(jù)所述參數(shù)值確定目標(biāo)圖片的圖片旋轉(zhuǎn)信息。
[0049]可交換圖像文件(Exchangeable Image File,EXIF)信息,是數(shù)碼相機(jī)的拍攝信息,當(dāng)中包含了專門為數(shù)碼相機(jī)的照片而定制的元數(shù)據(jù),可以記錄數(shù)碼照片的拍攝參數(shù),縮略圖及其他屬性信息,也包含了圖片的旋轉(zhuǎn)信息。因此可以通過從圖片中的EXIF信息中得到旋轉(zhuǎn)信息,進(jìn)而得知該圖片被旋轉(zhuǎn)的角度等信息,從而可以實(shí)現(xiàn)將圖片自動(dòng)回旋。
[0050]104,根據(jù)所述圖片旋轉(zhuǎn)信息,旋轉(zhuǎn)所述目標(biāo)圖片到旋轉(zhuǎn)前的位置。
[0051 ]本實(shí)施例提供的方法通過從目標(biāo)圖片的字節(jié)碼中讀取EXIF信息,并從該EXIF信息中獲取的圖片旋轉(zhuǎn)信息,在根據(jù)圖片旋轉(zhuǎn)信息對圖片進(jìn)行校正旋轉(zhuǎn),將其旋轉(zhuǎn)到旋轉(zhuǎn)前的位置的技術(shù)手段,解決了現(xiàn)有技術(shù)中,由于圖片被旋轉(zhuǎn)后,沒有經(jīng)過處理直接顯示導(dǎo)致的顯示位置異常的技術(shù)問題,進(jìn)而實(shí)現(xiàn)可以通過糾正圖片的顯示位置,同時(shí)節(jié)約存儲(chǔ)資源的技術(shù)效果。
[0052]可選的,本實(shí)施例提供的方法在根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含EXIF信息之前,還包括:
[0053]根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片是否為合法圖片格式。
[0054]可選的,在確定是有效圖片后,該方法還包括:確定有效圖片是否包含圖片旋轉(zhuǎn)信息。
[0055]本實(shí)施例具體結(jié)合在服務(wù)器上對旋轉(zhuǎn)后的圖片進(jìn)行顯示位置的處理的場景為例,提供一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法。如圖2所示,該方法包括:
[0056]201,服務(wù)器讀取目標(biāo)圖片的字節(jié)流;
[0057]在壓縮文件的格式中JPEG格式的儲(chǔ)存了EXIF信息,本實(shí)施例以目標(biāo)圖片是JPEG格式為例描述。
[0058]202,根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片是否為合法圖片格式;若是,則執(zhí)行203;否則執(zhí)行200。
[0059]例如:讀入圖片文件的字節(jié)流。判斷是否以ffffffff ffffffd8(合法的JEPG格式的圖片的開頭都是ffffffff ffffffd8)開始,若是,執(zhí)行203;否則執(zhí)行200。
[0060]203,根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)片是否包含EXIF信息;若包含,則執(zhí)行204;否則,執(zhí)行200;
[0061 ] EXIF信息都是以ffffffff ffffffel開頭,因此本步驟為:查找字節(jié)流中是否存在ffffffff fffffTel字節(jié)(ffffTfTf前面有雙數(shù)個(gè)字節(jié)),如果是,繼續(xù)執(zhí)行204;如果不存在,則執(zhí)行200。
[0062]204,根據(jù)讀取的所述字節(jié)流確定包含的所述EXIF信息是否為合法格式;若合法,則執(zhí)行205 ;否則,執(zhí)行200 ;
[0063]繼續(xù)判斷讀取的字節(jié)流中ffffffff ffffffel字節(jié)之后隔兩個(gè)字節(jié)是否是45 7869 66 O 0(代表exifOO,是否exif信息的合法格式),如果是,繼續(xù)執(zhí)行205;如果不是,則執(zhí)行 200。
[0064]205,根據(jù)所述EXIF信息確定所述目標(biāo)圖片的字節(jié)序列標(biāo)準(zhǔn);
[0065]繼續(xù)判斷45 78 69 66 O O字節(jié)之后是49 49還是4d 4cL49 4,其中,表示字節(jié)序列是英特爾InteI標(biāo)準(zhǔn),參照圖3。4d 4d表示字節(jié)序列是摩托羅拉MotoroIa標(biāo)準(zhǔn),參照圖4。
[0066]206,根據(jù)確定所述字節(jié)序列標(biāo)準(zhǔn)確定所述目標(biāo)圖片是否為有效圖片;若是,則執(zhí)行207;否則,執(zhí)行200;
[0067]針對Intel標(biāo)準(zhǔn),則是判斷4949之后是否是2a 0(有效合法格式),若是,則判斷2aO之后是否是8 O O 0(有效合法格式);否則執(zhí)行200。
[0068]針對Motorola標(biāo)準(zhǔn),則是判斷4d 4d之后是否是O 2a,若是,則判斷O 2a之后是否是O O O 8;否則,執(zhí)行200。
[0069]207,確定有效圖片是否包含圖片旋轉(zhuǎn)信息;若包含,則執(zhí)行208;否則執(zhí)行200;
[0070]針對Intel標(biāo)準(zhǔn),則是判斷8O O O之后是否含有12 1(12前面有雙數(shù)個(gè)字節(jié)),沒有執(zhí)行200。有則取之后的第7位和第8位。如果第8位不為零,則執(zhí)行200。
[0071]針對Motorola標(biāo)準(zhǔn),則是判斷O O O 8之后是否含有I 12(1前面有雙數(shù)個(gè)字節(jié)),沒有執(zhí)行200。有則取之后的第7位和第8位。如果第7位不為零,則執(zhí)行200。
[0072]208根據(jù)有效圖片的標(biāo)準(zhǔn)格式讀取旋轉(zhuǎn)標(biāo)簽位上的參數(shù)值;
[0073]有效圖片的格式都是標(biāo)準(zhǔn)的。標(biāo)準(zhǔn)的格式中,該旋轉(zhuǎn)標(biāo)簽為上的參數(shù)值就是第7位。針對Intel標(biāo)準(zhǔn)如果第7位在是I到8之間的數(shù)字,則為其旋轉(zhuǎn)方向。針對Motorola標(biāo)準(zhǔn),如果第8位在是I到8之間的數(shù)字,則為其旋轉(zhuǎn)方向。
[0074]參數(shù)值可以有1-8的8個(gè)值。分別對應(yīng)于旋轉(zhuǎn)O度,水平翻轉(zhuǎn),旋轉(zhuǎn)180度,垂直翻轉(zhuǎn),順時(shí)針90度一+水平翻轉(zhuǎn),順時(shí)針90度,順時(shí)針90度+垂直翻轉(zhuǎn),逆時(shí)針90度。參照如圖5所不O
[0075]209,根據(jù)所述參數(shù)值確定目標(biāo)圖片的圖片旋轉(zhuǎn)信息。
[0076]根據(jù)參數(shù)值和如圖5所示的參數(shù)值與旋轉(zhuǎn)之間的關(guān)系,可以確定圖片旋轉(zhuǎn)信息。
[0077]210,根據(jù)所述圖片旋轉(zhuǎn)信息,旋轉(zhuǎn)所述目標(biāo)圖片到旋轉(zhuǎn)前的位置。
[0078]要想旋轉(zhuǎn)到旋轉(zhuǎn)前的位置,執(zhí)行相應(yīng)旋轉(zhuǎn)操作即可。如若旋轉(zhuǎn)信息為逆時(shí)針90度。要想圖片顯示位置正確,則執(zhí)行順時(shí)針旋轉(zhuǎn)90度即可。
[0079]200,無效圖片,不處理。
[0080]本實(shí)施例提供的方法中,先確定圖片格式是否為合法的圖片格式,并在合法圖片格式的基礎(chǔ)上,提取EXIF信息,以及其中包含的圖片旋轉(zhuǎn)信息,再根據(jù)該個(gè)圖片旋轉(zhuǎn)信息確定了需要旋轉(zhuǎn)的角度,進(jìn)而使目標(biāo)圖片可以顯示正確的位置。該方案是針對固定問題的方案,代碼實(shí)現(xiàn)簡單,占用存儲(chǔ)資源較少。
[0081]為了便于上述方法的實(shí)現(xiàn),本實(shí)施例繼續(xù)提供一種處理被旋轉(zhuǎn)后圖片的顯示位置的裝置,如圖6所示,包括:
[0082]讀取模塊61,用于讀取目標(biāo)圖片的字節(jié)流;
[0083]旋轉(zhuǎn)信息確定模塊62,用于根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含可交換圖像文件EXIF信息;
[0084]旋轉(zhuǎn)信息獲取模塊63,用于若旋轉(zhuǎn)信息確定模塊確定包含EXIF信息,則根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息;
[0085]旋轉(zhuǎn)模塊64,用于根據(jù)所述圖片旋轉(zhuǎn)信息,旋轉(zhuǎn)所述目標(biāo)圖片到旋轉(zhuǎn)前的位置。
[0086]其中,所述旋轉(zhuǎn)信息確定模塊62,還用于確定包含的所述EXIF信息是否為合法格式。
[0087]所述旋轉(zhuǎn)信息獲取模塊63,具體用于根據(jù)所述EXIF信息確定所述目標(biāo)圖片的字節(jié)序列標(biāo)準(zhǔn);根據(jù)確定所述字節(jié)序列標(biāo)準(zhǔn)確定所述目標(biāo)圖片是否為有效圖片;若確定是有效圖片,則根據(jù)有效圖片的標(biāo)準(zhǔn)格式讀取旋轉(zhuǎn)標(biāo)簽位上的參數(shù)值;根據(jù)所述參數(shù)值確定目標(biāo)圖片的圖片旋轉(zhuǎn)信息。
[0088]可選的,還包括:合法確定模塊,用于根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片是否為合法圖片格式。
[0089]該還包括:信息包含確定模塊,用于確定有效圖片是否包含圖片旋轉(zhuǎn)信息。
[0090]本發(fā)明實(shí)施例提供的處理被旋轉(zhuǎn)后圖片的顯示位置的裝置,具有從目標(biāo)圖片的字節(jié)碼中讀取EXIF信息,并從該EXIF信息中獲取的圖片旋轉(zhuǎn)信息,在根據(jù)圖片旋轉(zhuǎn)信息對圖片進(jìn)行校正旋轉(zhuǎn),將其旋轉(zhuǎn)到旋轉(zhuǎn)前的位置的功能,解決了現(xiàn)有技術(shù)中,由于圖片被旋轉(zhuǎn)后,沒有經(jīng)過處理直接顯示導(dǎo)致的顯示位置異常的技術(shù)問題,進(jìn)而實(shí)現(xiàn)可以通過糾正圖片的顯示位置,同時(shí)節(jié)約存儲(chǔ)資源,便于實(shí)現(xiàn)和移植的技術(shù)效果。
[0091]在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0092]所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
[0093]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
[0094]上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(Read-Only Memory,R0M)、隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0095]本領(lǐng)域技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的裝置的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
[0096]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【主權(quán)項(xiàng)】
1.一種處理被旋轉(zhuǎn)后圖片的顯示位置的方法,其特征在于,包括: 讀取目標(biāo)圖片的字節(jié)流; 根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含可交換圖像文件EXIF信息;若確定所述目標(biāo)圖片中包含EXIF信息,則根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息; 根據(jù)所述圖片旋轉(zhuǎn)信息,旋轉(zhuǎn)所述目標(biāo)圖片到旋轉(zhuǎn)前的位置。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含EXIF信息之前,該方法還包括: 根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片是否為合法圖片格式。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,在根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含EXIF信息之后,該方法還包括: 確定包含的所述EXIF信息是否為合法格式。4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息,具體包括: 根據(jù)所述EXIF信息確定所述目標(biāo)圖片的字節(jié)序列標(biāo)準(zhǔn); 根據(jù)確定所述字節(jié)序列標(biāo)準(zhǔn)確定所述目標(biāo)圖片是否為有效圖片; 若確定是有效圖片,則根據(jù)有效圖片的標(biāo)準(zhǔn)格式讀取旋轉(zhuǎn)標(biāo)簽位上的參數(shù)值; 根據(jù)所述參數(shù)值確定目標(biāo)圖片的圖片旋轉(zhuǎn)信息。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在確定是有效圖片后,該方法還包括: 確定有效圖片是否包含圖片旋轉(zhuǎn)信息。6.一種處理被旋轉(zhuǎn)后圖片的顯示位置的裝置,其特征在于,包括: 讀取模塊,用于讀取目標(biāo)圖片的字節(jié)流; 旋轉(zhuǎn)信息確定模塊,用于根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片中是否包含可交換圖像文件EXIF信息; 旋轉(zhuǎn)信息獲取模塊,用于若旋轉(zhuǎn)信息確定模塊確定所述目標(biāo)圖片中包含EXIF信息,則根據(jù)所述EXIF信息獲取所述目標(biāo)圖片的圖片旋轉(zhuǎn)信息; 旋轉(zhuǎn)模塊,用于根據(jù)所述圖片旋轉(zhuǎn)信息,旋轉(zhuǎn)所述目標(biāo)圖片到旋轉(zhuǎn)前的位置。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 合法確定模塊,用于根據(jù)讀取的所述字節(jié)流確定所述目標(biāo)圖片是否為合法圖片格式。8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述旋轉(zhuǎn)信息確定模塊,還用于確定包含的所述EXIF信息是否為合法格式。9.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述旋轉(zhuǎn)信息獲取模塊,具體用于根據(jù)所述EXIF信息確定所述目標(biāo)圖片的字節(jié)序列標(biāo)準(zhǔn);根據(jù)確定所述字節(jié)序列標(biāo)準(zhǔn)確定所述目標(biāo)圖片是否為有效圖片;若確定是有效圖片,則根據(jù)有效圖片的標(biāo)準(zhǔn)格式讀取旋轉(zhuǎn)標(biāo)簽位上的參數(shù)值;根據(jù)所述參數(shù)值確定目標(biāo)圖片的圖片旋轉(zhuǎn)信息。10.根據(jù)權(quán)利要求10所述的裝置,其特征在于,該裝置還包括: 信息包含確定模塊,用于確定有效圖片是否包含圖片旋轉(zhuǎn)信息。
【文檔編號】G06T3/60GK105913381SQ201610261965
【公開日】2016年8月31日
【申請日】2016年4月25日
【發(fā)明人】謝曉靜
【申請人】樂視控股(北京)有限公司, 樂視網(wǎng)信息技術(shù)(北京)股份有限公司