这一切都归结为设备之间的差异。我希望将相机的焦点非常接近,因为我想捕捉非常靠近相机的物体图像,我在三星Galaxy S2和LG G2设备上测试了它。
所以,为了缩短它,我会做以下事情:
Camera.Parameters parameters = camera.getParameters();
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_MACRO);
现在,如果我只是在设备三星Galaxy S2上离开,并且不调用autoFocus(),这会产生非常好的结果。图像稳定,专注于近处物体,正是我想要的。 但是,如果我在LG G2上运行相同的代码,图像会进一步聚焦,并且可以用于任何用途。我必须重复运行autoFocus(),虽然它设法获得焦点,但它不像没有自动聚焦()调用的SGS2那样实用。有时自动对焦会被更远的东西分散注意力,或者闪电条件不利。 我的猜测是,通过将焦点模式设置为FOCUS_MODE_MACRO,相机焦点将被置于某个任意位置。或许巧合的是,在SGS2附近(OK)和LG G2,任意位置都不在了(不行)。 有没有办法强制将焦点调到最小值,或者autoFocus()是混合结果的唯一方法吗?有经验的人可以提供一些提示吗?