Android編程中調(diào)用Camera時(shí)預(yù)覽畫面有旋轉(zhuǎn)問題的解決方法
本文實(shí)例講述了Android編程中調(diào)用Camera時(shí)預(yù)覽畫面有旋轉(zhuǎn)問題的解決方法。分享給大家供大家參考,具體如下:
在調(diào)用Camera寫應(yīng)用的時(shí)候,前后攝像頭的情況有時(shí)候是不一樣的。有時(shí)候,明明后攝像頭沒有問題,而調(diào)用到前攝像頭時(shí),卻倒轉(zhuǎn)了180°,或者其他角度,百思不得其解。在查看了Android源碼之后,發(fā)現(xiàn)它的解決辦法很是好,接下來貼個(gè)源碼,以備日后查看。
public static int getDisplayRotation(Activity activity) {
int rotation = activity.getWindowManager().getDefaultDisplay()
.getRotation();
switch (rotation) {
case Surface.ROTATION_0: return 0;
case Surface.ROTATION_90: return 90;
case Surface.ROTATION_180: return 180;
case Surface.ROTATION_270: return 270;
}
return 0;
}
public static void setCameraDisplayOrientation(Activity activity,
int cameraId, Camera camera) {
// See android.hardware.Camera.setCameraDisplayOrientation for
// documentation.
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(cameraId, info);
int degrees = getDisplayRotation(activity);
int result;
if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
result = (info.orientation + degrees) % 360;
result = (360 - result) % 360; // compensate the mirror
} else { // back-facing
result = (info.orientation - degrees + 360) % 360;
}
camera.setDisplayOrientation(result);
}
在調(diào)用Camera的時(shí)候只要調(diào)用setCameraDisplayOrientation這個(gè)方法就可以了。
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
- 如何正確實(shí)現(xiàn)Android啟動(dòng)屏畫面的方法(避免白屏)
- Android編程之簡單啟動(dòng)畫面實(shí)現(xiàn)方法
- Android簡單實(shí)現(xiàn)啟動(dòng)畫面的方法
- Android啟動(dòng)畫面的實(shí)現(xiàn)方法
- Android開機(jī)畫面的具體修改方法
- android Socket實(shí)現(xiàn)簡單聊天功能以及文件傳輸
- 詳解Android——藍(lán)牙技術(shù) 帶你實(shí)現(xiàn)終端間數(shù)據(jù)傳輸
- Android實(shí)時(shí)獲取攝像頭畫面?zhèn)鬏斨罰C端思路詳解
相關(guān)文章
Android開發(fā)之資源目錄assets與res/raw的區(qū)別分析
這篇文章主要介紹了Android開發(fā)之資源目錄assets與res/raw的區(qū)別,結(jié)合實(shí)例形式分析了Android開發(fā)中資源目錄assets與res/raw的具體功能、使用方法與區(qū)別,需要的朋友可以參考下2016-01-01
autojs模仿QQ長按彈窗菜單實(shí)現(xiàn)示例
這篇文章主要為大家介紹了autojs模仿QQ長按彈窗菜單實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
Android shape和selector 結(jié)合使用實(shí)例代碼
本篇文章主要介紹了Android shape和selector 的使用,這里提供了shape 和selector 的詳細(xì)介紹,并附有代碼實(shí)例,有興趣的朋友可以參考下2016-07-07
android tv列表焦點(diǎn)記憶實(shí)現(xiàn)的方法
本篇文章主要介紹了android tv列表焦點(diǎn)記憶實(shí)現(xiàn)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-04-04
Android實(shí)現(xiàn)底部彈出的對話框功能
這篇文章主要介紹了Android實(shí)現(xiàn)底部彈出的對話框功能,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
Android Studio配合WampServer完成本地Web服務(wù)器訪問的問題
這篇文章主要介紹了Android Studio配合WampServer完成本地Web服務(wù)器訪問,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10

