Камера Android с портретом на поверхности - PullRequest
1 голос
/ 22 декабря 2011

У меня есть приложение, которое использует камеру для съемки.Камера должна иметь наложение поверх предварительного просмотра камеры, поскольку пользователь должен будет сделать снимок по кругу в центре экрана, чтобы я использовал вид поверхности и поместил изображение png поверх камеры.

Я пытаюсь перевести мой вид с поверхности и камеру в портретный режим.

Код EDIT обновлен, но теперь появляется ошибка LOGTAG cannot be resolved. .

public void surfaceCreated(SurfaceHolder holder) {
    // TODO Auto-generated method stub

    camera = Camera.open();
    try {
           Camera.Parameters parameters = camera.getParameters();
           if (this.getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) {
              // This is an undocumented although widely known feature
              parameters.set("orientation", "portrait");
              // For Android 2.2 and above
              //camera.setDisplayOrientation(90);
              // Uncomment for Android 2.0 and above
              //parameters.setRotation(90);
           } else {
              // This is an undocumented although widely known feature
              parameters.set("orientation", "landscape");
              // For Android 2.2 and above
              //camera.setDisplayOrientation(0);
              // Uncomment for Android 2.0 and above
              //parameters.setRotation(0);
           }
          camera.setParameters(parameters);
          camera.setPreviewDisplay(holder);
      } catch (IOException exception) {
         camera.release();
        Log.v(LOGTAG,exception.getMessage());
       }
        camera.startPreview();
    }


public void surfaceDestroyed(SurfaceHolder holder) {
    // TODO Auto-generated method stub
    camera.stopPreview();
    camera.release();
    camera = null;
    previewing = false;
}
}

1 Ответ

2 голосов
/ 22 декабря 2011

используйте этот код ... это решит вашу проблему ..

 public void surfaceCreated(SurfaceHolder holder) {
      camera = Camera.open();
      try {
           Camera.Parameters parameters = camera.getParameters();
           if (this.getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) {
              // This is an undocumented although widely known feature
              parameters.set("orientation", "portrait");
              // For Android 2.2 and above
              //camera.setDisplayOrientation(90);
              // Uncomment for Android 2.0 and above
              //parameters.setRotation(90);
           } else {
              // This is an undocumented although widely known feature
              parameters.set("orientation", "landscape");
              // For Android 2.2 and above
              //camera.setDisplayOrientation(0);
              // Uncomment for Android 2.0 and above
              //parameters.setRotation(0);
           }
          camera.setParameters(parameters);
          camera.setPreviewDisplay(holder);
      } catch (IOException exception) {
         camera.release();
        Log.v(LOGTAG,exception.getMessage());
       }
        camera.startPreview();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...