我希望在手機旋轉時不要改變相機的方向,使相機能夠以任何方向拍攝垂直照片。目前,圖片在除一個方向以外的所有方向上旋轉不正確。測試HTC Incredible運行2.2:如何實現Android相機以任何屏幕方向拍照?
- 肖像模式有圖像順時針旋轉90度它應該是什麼。
- 設備從肖像逆時針旋轉產生旋轉180度的圖像。
- 設備從肖像順時針旋轉產生正確方向的圖像。
下面是相機執行相關的代碼:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.camera);
// Set up camera's SurfaceView and SurfaceHolder
surfaceView = (SurfaceView) findViewById(R.id.camera_surface);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
Camera.Parameters p = camera.getParameters();
p.setPreviewSize(width,height);
}
public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open();
try {
camera.setPreviewDisplay(surfaceHolder);
} catch (IOException e) {
camera.release();
}
camera.startPreview();
}
由於我想應用程序可與任何API級別等於或高於4兼容最大化的用戶羣,我如果答案不使用特定於更高API級別的任何內容,則更喜歡。謝謝!
不幸的是,setDisplayOrientation僅適用於API級別8以上:[link](http://developer.android.com/reference/android/hardware/Camera.html#setDisplayOrientation%28int%29) – 2011-03-24 04:24:15
舊版API的setDisplayOrientation替代方法是Camera.Parameters parameters = mCamera .getParameters(); parameters.set(「rotation」,度); mCamera.setParameters(parameters); – 2012-06-01 12:36:20