2014-04-21 5 views
-2

이이 안드로이드의 갤러리에서 내 앱 카메라와 오픈하여 이미지 캡처입니다방향 설정 파일의 힌트 이미지?

enter image description here

안드로이드의 갤러리로 표준 카메라 및 개방에 의한 이미지 캡처는 enter image description here

어떻게 설정 방향 파일의 힌트 이미지 (동일한 표준 카메라를 표시 할 수 있습니까?)

나는 카메라의 setRotation와 시도,하지만 작동하지 :

Camera.Parameters parameters = mCamera.getParameters(); 
parameters.setRotation(rotation); 
mCamera.setParameters(parameters); 

비디오를 녹화 내가 사용하는 경우 : MediaRecorder.setOrientationHint(rotation); 을하지만 이미지 모르겠어. 나 좀 도와 줄 수있어?

답변

1

모든 장치에서 모든 이미지 캡처에 대해 원하는 방향을 얻기 위해 자신의 사진 캡처 작업을 구현해야합니다.

나는 사진을 찍고 사진의 방향을 설정할 수있는 하나의 캡처 활동을 구현했습니다.

구현 : 당신은이 주제에 대한 이미지의 회전에 대한 내 대답을 확인할 수 있습니다 내 대답에 추가 사진 기능을 절약

Camera capture orientation on samsung devices in android

내가 위에서 준 :

savePhoto 기능 :

public void savePhoto(Bitmap bmp) { 

     imageFileFolder = new File(Environment.getExternalStorageDirectory(), 
       cc.getDirectoryName()); 
     imageFileFolder.mkdir(); 
     FileOutputStream out = null; 
     Calendar c = Calendar.getInstance(); 
     String date = fromInt(c.get(Calendar.MONTH)) 
       + fromInt(c.get(Calendar.DAY_OF_MONTH)) 
       + fromInt(c.get(Calendar.YEAR)) 
       + fromInt(c.get(Calendar.HOUR_OF_DAY)) 
       + fromInt(c.get(Calendar.MINUTE)) 
       + fromInt(c.get(Calendar.SECOND)); 
     imageFileName = new File(imageFileFolder, date.toString() + ".jpg"); 
     try { 
      out = new FileOutputStream(imageFileName); 
      bmp.compress(Bitmap.CompressFormat.JPEG, 70, out); 
      out.flush(); 
      out.close(); 
      scanPhoto(imageFileName.toString()); 
      out = null; 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

scanPhoto 기능 :

public void scanPhoto(final String imageFileName) { 
     geniusPath = imageFileName; 
     msConn = new MediaScannerConnection(MyClass.this, 
       new MediaScannerConnectionClient() { 
        public void onMediaScannerConnected() { 
         msConn.scanFile(imageFileName, null); 

        } 

        @Override 
        public void onScanCompleted(String path, Uri uri) { 

         msConn.disconnect(); 

        } 
       }); 
     msConn.connect(); 
    } 

SavePhotoTask 클래스 :

class SavePhotoTask extends AsyncTask<byte[], String, String> { 
     @Override 
     protected String doInBackground(byte[]... jpeg) { 
      File photo = new File(Environment.getExternalStorageDirectory(), 
        "photo.jpg"); 
      if (photo.exists()) { 
       photo.delete(); 
      } 
      try { 
       FileOutputStream fos = new FileOutputStream(photo.getPath()); 
       fos.write(jpeg[0]); 
       fos.close(); 
      } catch (java.io.IOException e) { 
      } 
      return (null); 
     } 
    } 
+0

갤러리로 표준 카메라를 연 이유는 동일한 이미지 미리보기를 캡처 한 방향을 표시 할 수 있습니다. 그리고 원본은 변경되지 않습니다 – mum

+0

캡처 후 회전 이미지가 있다면, 나는 알고있었습니다. 나는 원래의 이미지 (동일한 표준 카메라)를 유지하고 싶습니다. – mum

+0

내 대답은 사진을 찍은 사진을 찍고 사진과 같은 방향으로 저장하고 휴대 전화의 갤러리에서 올바르게 볼 수 있도록하는 것입니다. . –

0

원인 : 내 응용 프로그램 할 수 없습니다 회전 할 때 안드로이드의 갤러리로 파일 열기, 내가 .JPG에 내선을 변경하면 파일이 .PNG를 내선있다 만들 수 있기 때문에, 확인을 표시 할 수 있습니다.