私は多くのチュートリアルと情報を見てきましたが、他のカスタマイズされたカメラアプリケーションに既存のカメラアプリケーションのデフォルト設定を使用する方法を見つけることができませんでした。私は画像の鮮明さを見てきましたが、内蔵カメラアプリケーションではその焦点は非常に精細です。今私は私のカスタマイズされた機能で自分のアプリケーションを作成していますが、私はそれをシャープで非ぼやけにすることができません...私は後でいくつかの画像処理を行う必要があるため、カメラのインテント技術を使いたいと思いません。Android:内蔵カメラアプリケーションのデフォルトのカメラ設定を取得する方法
それはここでは、内蔵カメラアプリケーション
で働くように...私はズームを使用しているが、妙にズームが正常に動作していないが、私の表面変化コードが
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h)
{
Log.e(TAG, "surfaceChanged");
// XXX stopPreview() will crash if preview is not running
if (mPreviewRunning) {
mCamera.stopPreview();
}
Camera.Parameters params = mCamera.getParameters();
List<Camera.Size> sizes = params.getSupportedPreviewSizes();
mFrameWidth = w;
mFrameHeight = h;
// selecting optimal camera preview size
{
double minDiff = Double.MAX_VALUE;
for (Camera.Size size : sizes)
{
if (Math.abs(size.height - h) < minDiff)
{
mFrameWidth = size.width;
mFrameHeight = size.height;
minDiff = Math.abs(size.height - h);
}
}
}
try
{
//params.set("rotation", 180);
//params.set("orientation", "landscape");
//params.set("auto", "WHITE_BALANCE_AUTO");//WHITE_BALANCE_AUTO
Display display = ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
if(display.getRotation() == Surface.ROTATION_0)
{
params.setPreviewSize(mFrameHeight, mFrameWidth);
mCamera.setDisplayOrientation(90);
}
if(display.getRotation() == Surface.ROTATION_90)
{
params.setPreviewSize(mFrameWidth, mFrameHeight);
}
if(display.getRotation() == Surface.ROTATION_180)
{
params.setPreviewSize(mFrameHeight, mFrameWidth);
}
if(display.getRotation() == Surface.ROTATION_270)
{
params.setPreviewSize(mFrameWidth, mFrameHeight);
mCamera.setDisplayOrientation(180);
}
if(params.isZoomSupported())
{
Log.e(TAG, params.getZoom()+"surfaceChanged camer zoom"+params.getMinExposureCompensation());
params.setZoom(params.getMaxZoom());
params.setExposureCompensation(1);
// params.setColorEffect("none");
params.setWhiteBalance(params.WHITE_BALANCE_AUTO);
params.setFocusMode(params.FOCUS_MODE_AUTO);
params.setSceneMode(params.SCENE_MODE_ACTION);
}
params.set("auto", "FOCUS_MODE_AUTO");
params.setPreviewSize(mFrameWidth,mFrameHeight);
mCamera.setParameters(params);
mCamera.setPreviewDisplay(holder);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
mCamera.startPreview();
mPreviewRunning = true;
}
で親切に私はどのように知っていますカメラのプレビューを、組み込みのアプリケーションプレビューとまったく同じにします。
あなたはAndroid Camera Applicationコードを見ましたか?あなたはサポートするOSの最小バージョンでそれを引っ張ってベースとして使用することができます。すべてのOSアップグレード機能には機能が追加されていることに注意してください。また、デバイスのデバイスはおそらく他のデバイスに存在する可能性のある機能をサポートしています。 – Idistic