我遇到了Android中相機輸入的問題。在互聯網上搜索了半天之後,我沒有再進一步了。相機顯示屏不保持長寬比/似乎歪斜
笏我想在這個階段實現正確顯示當前的攝像頭輸入。現在沒有更多,也沒有少。當在橫向模式下握住設備時,一切似乎都很好。但是,只要將設備切換爲縱向,顯示器似乎會水平縮放以匹配設備上的屏幕寬度。
爲了弄清這個問題有點多,我已經把它貼了兩張照片:
好像這個問題也與從相機例子發生API示例,但是當我使用我的設備上的相機應用程序時,似乎不會發生這種情況。很顯然,其他事情正在發生。
是基於可以在互聯網上發現的例子,我正在使用的代碼沒有修改:
class Preview extends SurfaceView implements SurfaceHolder.Callback {
SurfaceHolder mHolder;
Camera mCamera;
Preview(Context context) {
super(context);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void surfaceCreated(SurfaceHolder holder) {
mCamera = Camera.open();
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
mCamera.stopPreview();
mCamera = null;
}
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Camera.Parameters parameters = mCamera.getParameters();
parameters.setPreviewSize(w, h);
mCamera.setParameters(parameters);
mCamera.startPreview();
}
}
的API的例子使用的方法「getOptimalPreviewSize(......)」這聽起來像我需要的方法,但這並沒有改變任何東西。爲了儘可能簡短,我把它放在這裏。
我是否錯過了某些顯而易見的內容或者這是預期的行爲?
希望有人能指出我正確的方向。
在此先感謝!
Paul
失真的效果得到在所附的圖像失去了一點點。但在風景圖像上,電腦屏幕看起來寬屏。在肖像圖像上,它看起來像一個方形的屏幕。 – PaulT
您正在設置的預覽分辨率是多少? – bluefalcon
分辨率取決於設備。在這種情況下,它在Galaxy選項卡上爲1024 x 524。 – PaulT