自己写的一个Camera小程序,在设置感光和聚焦区域时遇到了问题,代码如下:
Camera.Parameters parameters = mCamera.getParameters();
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
if (parameters.getMaxNumMeteringAreas() > 0) {
List<Camera.Area> meteringAreas = new ArrayList<Camera.Area>();
Rect areaRect1 = new Rect(-100, -100, 100, 100);
meteringAreas.add(new Camera.Area(areaRect1, 800));
Rect areaRect2 = new Rect(800, -1000, 1000, -800);
meteringAreas.add(new Camera.Area(areaRect2, 400));
parameters.setMeteringAreas(meteringAreas);
}
if(parameters.getMaxNumFocusAreas()>0){
List<Camera.Area> focesAreas = new ArrayList<Camera.Area>();
Rect areaRect = new Rect(-100, -100, 100, 100);
focesAreas.add(new Camera.Area(areaRect, 600));
parameters.setFocusAreas(focesAreas);
}
mCamera.setParameters(parameters);
这是按官网写的,但是运行后看不到效果。
Camera.Parameters parameters = mCamera.getParameters();
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
if (parameters.getMaxNumMeteringAreas() > 0) {
List<Camera.Area> meteringAreas = new ArrayList<Camera.Area>();
Rect areaRect1 = new Rect(-100, -100, 100, 100);
meteringAreas.add(new Camera.Area(areaRect1, 800));
Rect areaRect2 = new Rect(800, -1000, 1000, -800);
meteringAreas.add(new Camera.Area(areaRect2, 400));
parameters.setMeteringAreas(meteringAreas);
}
if(parameters.getMaxNumFocusAreas()>0){
List<Camera.Area> focesAreas = new ArrayList<Camera.Area>();
Rect areaRect = new Rect(-100, -100, 100, 100);
focesAreas.add(new Camera.Area(areaRect, 600));
parameters.setFocusAreas(focesAreas);
}
mCamera.setParameters(parameters);
这是按官网写的,但是运行后看不到效果。
第一次接触这块,希望知道的告诉下什么原因,应该怎么做
http://stackoverflow.com/questions/12851154/android-setting-manual-focus-by-touching