解決三星拍照上傳照片被旋轉(zhuǎn)90度,和三星相機(jī)崩潰

剛剛想起來前幾天面試的時(shí)候遇到的一個(gè)問題硼啤,
問題大概是這樣的做拍照上傳圖片功能的時(shí)候议经,在三星手機(jī)上拍出的照片是旋轉(zhuǎn)了90度的,應(yīng)該如何解決這個(gè)問題谴返。因?yàn)橹皼]有遇到過這種問題煞肾,當(dāng)時(shí)我回答的是給圖片做一個(gè)ObjectAnimator的rotation動(dòng)畫。結(jié)果這個(gè)是錯(cuò)誤的嗓袱。 在這里做一個(gè)記錄吧籍救,防止遇到這樣的問題。

造成這個(gè)問題的原因是三星堆Android相機(jī)單獨(dú)做了優(yōu)化渠抹。
要解決這個(gè)問題我們需要根據(jù)圖片的路徑讀取照片EXIF(Exchangeable Image File 可交換圖像文件)信息中的旋轉(zhuǎn)角度蝙昙。
通過下面的代碼可以拿到手機(jī)拍照的圖片的旋轉(zhuǎn)角度闪萄,三星的是90度,而其他的手機(jī)旋轉(zhuǎn)角度為0奇颠。
/
* 讀取照片exif信息中的旋轉(zhuǎn)角度
* @param path 照片路徑
* @return角度
*/
public static int readPictureDegree(String path) {
int degree = 0;
try {
ExifInterface exifInterface = new ExifInterface(path);
int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
switch (orientation) {
case ExifInterface.ORIENTATION_ROTATE_90:
degree = 90;
break;
case ExifInterface.ORIENTATION_ROTATE_180:
degree = 180;
break;
case ExifInterface.ORIENTATION_ROTATE_270:
degree = 270;
break;
}
} catch (IOException e) {
e.printStackTrace();
}
return degree;
}

拿到圖片的旋轉(zhuǎn)角度就好解決了败去,根據(jù)被旋轉(zhuǎn)了的角度旋轉(zhuǎn)回來就好了。 代碼如下烈拒。
public static Bitmap toturn(Bitmap img){
Matrix matrix = new Matrix();
matrix.postRotate(+90); /翻轉(zhuǎn)90度/
int width = img.getWidth();
int height =img.getHeight();
img = Bitmap.createBitmap(img, 0, 0, width, height, matrix, true);
return img;
}

再說一下Android調(diào)用三星相機(jī)崩潰的問題为迈。
原因是因?yàn)槿鞘謾C(jī)在拍照的時(shí)候會(huì)做橫豎屏切換,對(duì)Activity的生命周期造成了影響缺菌。解決問題很簡(jiǎn)單在拍照所在的Activity的AndroidManifest.xml文件中配置
<activity
android:name="com.ldm.test.PhotoActivity"
android:configChanges="orientation|keyboardHidden" />
使得橫豎屏切換時(shí)不會(huì)重新調(diào)用各個(gè)生命周期方法葫辐。只會(huì)執(zhí)行onConfigurationChanged方法。

解決方法來自于網(wǎng)絡(luò)伴郁,如有侵權(quán)聯(lián)系本人刪除耿战。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市焊傅,隨后出現(xiàn)的幾起案子剂陡,更是在濱河造成了極大的恐慌,老刑警劉巖狐胎,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鸭栖,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡握巢,警方通過查閱死者的電腦和手機(jī)晕鹊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來暴浦,“玉大人溅话,你說我怎么就攤上這事「杞梗” “怎么了飞几?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)独撇。 經(jīng)常有香客問我屑墨,道長(zhǎng),這世上最難降的妖魔是什么纷铣? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任卵史,我火速辦了婚禮,結(jié)果婚禮上关炼,老公的妹妹穿的比我還像新娘程腹。我一直安慰自己,他們只是感情好儒拂,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布寸潦。 她就那樣靜靜地躺著,像睡著了一般社痛。 火紅的嫁衣襯著肌膚如雪见转。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天蒜哀,我揣著相機(jī)與錄音斩箫,去河邊找鬼。 笑死撵儿,一個(gè)胖子當(dāng)著我的面吹牛乘客,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淀歇,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼易核,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了浪默?” 一聲冷哼從身側(cè)響起牡直,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渔扎,沒想到半個(gè)月后贺嫂,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體饰抒,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年饵史,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胜榔。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡约急,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出苗分,到底是詐尸還是另有隱情厌蔽,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布摔癣,位于F島的核電站奴饮,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏择浊。R本人自食惡果不足惜戴卜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望琢岩。 院中可真熱鬧投剥,春花似錦、人聲如沸担孔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啄育,卻和暖如春酌心,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挑豌。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工安券, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氓英。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓侯勉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親铝阐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子址貌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容