Android 相同焦距的各种照片
我需要用相同的焦距拍几张照片。我已经研究了一段时间,这似乎是不可能的 主要目的是做一个简单的自动对焦,然后在不调用自动对焦的情况下对所有后续照片使用相同的距离 Android的API有一些有趣的方法,如: 但是,我无法设置固定焦点的值。它设置为超焦距 还有一种方法: 但是没有“设置器”来设置所需的焦距 我能实现我的目标吗?还是不可能 PD:一些代码解释如何设置摄像头。参数和如何管理AF:Android 相同焦距的各种照片,android,camera,Android,Camera,我需要用相同的焦距拍几张照片。我已经研究了一段时间,这似乎是不可能的 主要目的是做一个简单的自动对焦,然后在不调用自动对焦的情况下对所有后续照片使用相同的距离 Android的API有一些有趣的方法,如: 但是,我无法设置固定焦点的值。它设置为超焦距 还有一种方法: 但是没有“设置器”来设置所需的焦距 我能实现我的目标吗?还是不可能 PD:一些代码解释如何设置摄像头。参数和如何管理AF: AutoFocusCallback aF = new AutoFocusCallback(){
AutoFocusCallback aF = new AutoFocusCallback(){
@Override
public void onAutoFocus(boolean arg0, Camera arg1) {
if(arg0==true){
Log.d("preview", " Autofocus callback!");
parameters.setFocusMode("fixed");
updateParameters();
}
}};
public static void updateParameters(){
if(camera==null){}
else{
camera.setParameters(parameters);
}
单击FocusAuto按钮时:
@Override
public void onClick(View v) {
Preview.parameters.setFocusMode("auto");
Log.d("focus: ","auto");
Preview.updateParameters();
Preview.camera.autoFocus(preview.aF);
}});
不同设备的详细信息会有所不同,但您应该能够将焦点模式设置为
focus\u mode\u AUTO
,然后调用一次以设置焦距。除非再次显式调用autoFocus()
,否则焦距不会改变
请注意,某些设备不支持自动对焦,因此在请求自动对焦时最好采取防御措施:
try {
Parameters params = camera.getParameters();
if (!Parameters.FOCUS_MODE_AUTO.equals(params.getFocusMode())) {
params.setFocusMode(Parameters.FOCUS_MODE_AUTO);
camera.setParameters(params);
}
camera.autoFocus(new Camera.AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
// if (success) { ... }
}
} );
} catch (RuntimeException e) {
// Can't use autofocus...
}
你能告诉我们你用来设置相机参数和管理焦距的代码吗?谢谢你的快速回复!然而,该代码在我的案例中不起作用。当我调用Camera.autofocus()时,预览的焦距很好,我可以拍一张好的照片,但是当我拍摄第二张时(没有调用autofocus()),焦距似乎在超焦距上移动(如focus\u mode\u fixed)。很有趣。您是否尝试过在其他设备上运行代码?不同制造商的相机硬件可能会有很大差异。现在我已经用另一个设备进行了尝试,并且具有相同的行为。谢谢您的尝试。另一个选项可能是调用
autoFocus()
,然后如果自动对焦成功,则在回调中将模式更改为FOCUS\u mode\u FIXED
。这是我的第一个想法,但FOCUS\u mode\u FIXED不会将焦距设置在原来的位置,它只会将焦距设置为无穷远,而不考虑以前的焦距。