本文整理匯總了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);
}