demo 下載
android Camera 如何 獲取最佳合適的尺寸
1、如何利用 Camera 開發自定義相機?
a、Camera.getNumberOfCameras() 獲取 相機數目回傳一個 可用相機集合(前/后置)
int num=Camera.getNumberOfCameras();
b、遍歷 相機 Camera.CameraInfo.CAMERA_FACING_BACK 是后置|| Camera.CameraInfo.CAMERA_FACING_FRONT 是前置相機
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
for (int i = 0; i < Camera.getNumberOfCameras(); i++) {
Camera.getCameraInfo(i, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
//前置相機
}else{
//后置相機
}
}
}
c、打開相機 獲得Camera 物件
Camera camera = Camera.open();
//Camera camera = Camera.open(i); 打開前置 用position 去打開
2、設定相機
a、獲取相機屬性
Camera.Parameters parameters = camera.getParameters()
// 設定圖片格式
parameters.setPictureFormat(ImageFormat.JPEG);
// 設定JPG照片的質量
parameters.set("jpeg-quality", 100);
b、設定相機屬性
// 設定圖片格式
parameters.setPictureFormat(ImageFormat.JPEG);
// 設定JPG照片的質量
parameters.set("jpeg-quality", 100);
//預覽的寬高 (很重要)
parameters.setPreviewSize(mPreviewWidth, mPreviewHeight); // 設定預覽影像大小
//設定 閃光燈模式Camera.Parameters.FLASH_MODE_AUTO, Camera.Parameters.FLASH_MODE_ON, Camera.Parameters.FLASH_MODE_OFF, Camera.Parameters.FLASH_MODE_TORCH
parameters.setFlashMode(String valus);
camera.setParameters(parameters);
c、設定 設備方向
if (getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) {
//橫屏 旋轉90
camera.setDisplayOrientation(90);
} else {
//豎屏 不旋轉
camera.setDisplayOrientation(0);
}
// 設定預覽設備 (SurfaceView 的holder)
camera.setPreviewDisplay(mHolder)
3、開始預覽
camera.startPreview();
4、拍照
camera.takePicture(null, null, new Camera.PictureCallback())
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/275028.html
標籤:其他
上一篇:iOS之深入決議保證執行緒安全的“鎖”的使用和性能分析
下一篇:Android Studio 連接逍遙模擬器報 Adb connection Error:遠程主機強迫關閉了一個現有的連接 的一個解決辦法。
