8

アプリでカメラを使用しています。私はちょうどintentカメラを起動するために使用しています

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
        startActivityForResult(cameraIntent, 101);

キャプチャした画像が自動的に読み込まれlandscape viewます。cameraで画像をキャプチャするにはどうすればよいですかportrait view

4

3 に答える 3

13

デバイスがv2.2以上の場合、 を使用してカメラの向きを縦向きに回転できますcamera.setDisplayOrientation(90)。v2.2 より前のデバイスでは、カメラは横向きでのみ表示されるため、画像は横向きになります。これらの投稿を確認してくださいカメラを縦向きで使用すると、キーボードが開いていないとカメラが正しく動作しません。

于 2011-12-15T06:57:09.773 に答える
2

これを試して。

        Parameters param = mCamera.getParameters();

        switch(mDisplay.getRotation()){
        case Surface.ROTATION_0:
            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO){
                mCamera.setDisplayOrientation(90);
                Log.d("Rotation_0", "whatever");
            }
            else{
                Log.d("Rotation_0", "whatever");
                param.setRotation(90);
                mCamera.setParameters(param);
            }
            break;
        case Surface.ROTATION_90:
            if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO){
                mCamera.setDisplayOrientation(0);
                Log.d("Rotation_0", "whatever");
            }
            else{
                Log.d("Rotation_90", "whatever");
                param.setRotation(0);
                mCamera.setParameters(param);
            }
            break;
        }
于 2011-12-15T07:15:07.227 に答える