本文整理汇总了Java中android.hardware.Camera.Parameters.setFocusAreas方法的典型用法代码示例。如果您正苦于以下问题:Java Parameters.setFocusAreas方法的具体用法?Java Parameters.setFocusAreas怎么用?Java Parameters.setFocusAreas使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类android.hardware.Camera.Parameters
的用法示例。
在下文中一共展示了Parameters.setFocusAreas方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: clearCameraFocus
import android.hardware.Camera.Parameters; //导入方法依赖的package包/类
public void clearCameraFocus() {
try{
if(hasAutoFocus()) {
mCamera.cancelAutoFocus();
Parameters parameters = mCamera.getParameters();
parameters.setFocusAreas(null);
parameters.setMeteringAreas(null);
mCamera.setParameters(parameters);
}
}catch (Exception e){
}
}
示例2: onFocus
import android.hardware.Camera.Parameters; //导入方法依赖的package包/类
/**
* 手动聚焦
* @param point 触屏坐标
*/
protected void onFocus(Point point,AutoFocusCallback callback){
Parameters parameters=mCamera.getParameters();
//不支持设置自定义聚焦,则使用自动聚焦,返回
if (parameters.getMaxNumFocusAreas()<=0) {
mCamera.autoFocus(callback);
return;
}
List<Area> areas=new ArrayList<Area>();
int left=point.x-300;
int top=point.y-300;
int right=point.x+300;
int bottom=point.y+300;
left=left<-1000?-1000:left;
top=top<-1000?-1000:top;
right=right>1000?1000:right;
bottom=bottom>1000?1000:bottom;
areas.add(new Area(new Rect(left,top,right,bottom), 100));
parameters.setFocusAreas(areas);
try {
//本人使用的小米手机在设置聚焦区域的时候经常会出异常,看日志发现是框架层的字符串转int的时候出错了,
//目测是小米修改了框架层代码导致,在此try掉,对实际聚焦效果没影响
mCamera.setParameters(parameters);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
mCamera.autoFocus(callback);
}