日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android中Camera setDisplayOrientation使用

發布時間:2023/12/9 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android中Camera setDisplayOrientation使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在 寫相機相關應用的時候遇到捕獲的畫面方向和手機的方向不一致的問題,比如手機是豎著拿的,但是畫面是橫的,這是由于攝像頭默認捕獲的畫面byte[]是根 據橫向來的,而你的應用是豎向的,解決辦法是調用setDisplayOrientation來設置PreviewDisplay的方向,效果就是將捕獲 的畫面旋轉多少度顯示。
設 置 preview 的順時針旋轉角度。這將影響 preview frames和拍照之后的相片顯示。該方法主要用于垂直模式的應用。注意在旋轉之前, front-facing cameras 的 preview顯示是水平 flip 的,這就是說, image 是沿著 camera sensor 的垂直中心軸來反射的。所以用戶可以像照鏡子一樣看到他們自己。這不會影響傳入函數 onPreviewFrame(byte[], Camera) 的、JPEG 相片的、或記錄的 video 的 byte array 的順序,你可以自己做旋轉處理。在preview 期間是不允許調用該方法的。如果你想要是你的照片和顯示出來的角度一致,你可以參考下列代碼:

[java] view plaincopy
  • public?static?void?setCameraDisplayOrientation?(Activity?activity,?int?cameraId,?android.hardware.Camera?camera)?{??
  • ????android.hardware.Camera.CameraInfo?info?=?new?android.hardware.Camera.CameraInfo();??
  • ????android.hardware.Camera.getCameraInfo?(cameraId?,?info);??
  • ????int?rotation?=?activity.getWindowManager?().getDefaultDisplay?().getRotation?();??
  • ????int?degrees?=?0;??
  • ????switch?(rotation)?{??
  • ????????case?Surface.ROTATION_0:??
  • ????????????degrees?=?0;??
  • ????????????break;??
  • ????????case?Surface.ROTATION_90:??
  • ????????????degrees?=?90;??
  • ????????????break;??
  • ????????case?Surface.ROTATION_180:??
  • ????????????degrees?=?180;??
  • ????????????break;??
  • ????????case?Surface.ROTATION_270:??
  • ????????????degrees?=?270;??
  • ????????????break;??
  • ????}??
  • ????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);??
  • }
  • 轉載于:https://www.cnblogs.com/Free-Thinker/p/3546741.html

    總結

    以上是生活随笔為你收集整理的android中Camera setDisplayOrientation使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。