parameters.getZoomRatios() でズーム比のリストを取得した場合、返される値は 100,114...200 (1x 1.14x ...2.0x ズームに対応) ですが、カメラ プレビューでは 200 (2x ズーム) で、写真は 2 倍以上にズームされているように見えます。サンプル画像では、1x ズームで 6cm、2x ズームで 2.5cm の視野を示しています... 2x で 3.0cm を期待していました。
これらの値を解釈する別の方法はありますか?...他の誰かがこれを見ていますか? または、このデバイス/バージョン固有のものですか、それとも定数または他の値 (焦点距離) を掛けるべきですか? カメラのビューをアプリのレンダリングされたビューに一致させようとしていますが、ズームすると、一致が台無しになります。
コードはここで標準です:
public void setZoom(int pZoom)
{
final Camera.Parameters p = this.mCamera.getParameters();
if (p.isZoomSupported())
{
p.setZoom(pZoom);
this.mCamera.setParameters(p);
}
}
public int getZoom( android.hardware.Camera camera)
{
int zoom = 100;
final Parameters p = camera.getParameters();
if (p.isZoomSupported())
{
final List<Integer> zoomRatios = p.getZoomRatios();
final int zoomIndex = p.getZoom();
if (zoomIndex < zoomRatios.size())
{
zoom = zoomRatios.get(zoomIndex);
}
//Log.d("zoom","ix:" + zoomIndex + " z:"+zoom);
}
return zoom;
}