2011-08-10 7 views
4

現在、カメラプレビューは画面全体(854x480)に合わせて拡大されています。代わりに(427x240)を表示します。ここ Android:画面上のカメラプレビューサイズを変更する

は、カメラの実装に関連するコードである:

Camera.Parameters params = camera.getParameters(); 
params.setPreviewSize(427, 240); 
mCamera.setParameters(params); 
public class CameraTest extends Activity {  
    private Preview mPreview; 
    private DrawOnTop mDrawOnTop; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // Hide the window title. 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 

     // Create our Preview view and set it as the content of our activity. 
     // Create our DrawOnTop view. 
     mDrawOnTop = new DrawOnTop(this); 
     mPreview = new Preview(this, mDrawOnTop); 
     setContentView(mPreview); 
     addContentView(mDrawOnTop, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
    } 
} 

答えて

0

mCamera.setParameters(paramsは)。 はパラメータのみを設定します。カメラのハードウェアに渡されます。

プレビューウィンドウのサイズを設定するには、カメラレイアウトファイルを変更する必要があります。

1

developer.android.comでこれを見た:あなたはあなたのカメラのプレビューのための特定のサイズを設定したい場合は上記のコメントで述べたように

を、surfaceChanged()メソッドでは、この を設定します。 プレビューサイズを設定する場合は、 getSupportedPreviewSizes()の値を使用する必要があります。 setPreviewSize()メソッドの に任意の値を設定しないでください。

と最小得るためにこれを書いた:

 List<Size> list = mCamera.getParameters().getSupportedPictureSizes(); 
    Size size = list.get(0); 
    int height = size.height; 
    int minHeight=9999999; 
    for(int i = 0; i<=list.size(); i++){ 
     if(list.get(i).height<minHeight){ 
      minHeight = list.get(i).height; 
     } 
    } 

はそれが動作を期待します!

関連する問題