9
Làm thế nào nó trông giống: http://i41.tinypic.com/30278m1.pngFix tỷ lệ máy ảnh Android ứng dụng khía cạnh và xoay
Dường như trong pic, tôi muốn nó có một tỉ lệ chính xác với rotaion đúng
Hãy xem mã xin vui lòng , Làm thế nào tôi có thể sửa chữa nó ?
Đây là mã của tôi:
public class MainActivity extends Activity implements SurfaceHolder.Callback {
Camera mCamera;
SurfaceView mPreview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPreview = (SurfaceView)findViewById(R.id.preview);
mPreview.getHolder().addCallback(this);
mPreview.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mCamera = Camera.open();
}
@Override
public void onPause() {
super.onPause();
mCamera.stopPreview();
}
@Override
public void onDestroy() {
super.onDestroy();
mCamera.release();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
Camera.Parameters params = mCamera.getParameters();
List<Camera.Size> sizes = params.getSupportedPreviewSizes();
Camera.Size selected = sizes.get(0);
params.setPreviewSize(selected.width,selected.height);
mCamera.setParameters(params);
mCamera.startPreview();
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
mCamera.setPreviewDisplay(mPreview.getHolder());
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
Log.i("PREVIEW","surfaceDestroyed");
}
}
isPreviewRunning & getContext được đánh dấu là lỗi! isPreviewRunning không thể được giải quyết thành biến số & Phương thức getContext() là không xác định –
Ok, tôi vừa thay đổi câu trả lời của mình. –
công việc tuyệt vời mikhael !! nó đã làm việc, tôi đã nhìn vào trang web của bạn, bạn đã thực hiện các dự án tốt –