2012-08-23 6 views
1

내 응용 프로그램에서는 내장 카메라 활동을 통해 이미지를 가져 와서 SD 카드에 저장합니다. intent.putextras를 사용하여 고해상도 이미지를 얻고 있습니다.카메라로 찍은 이미지의 해상도 설정

첫 번째 장치 -이 코드는 성공적으로 작동하며 640X480의 해상도 이미지를 얻습니다.

두 번째 장치 - 내장 카메라 활동이 캡처 된 이미지 저장을 요구하면 강제로 닫힙니다. 그러나 장치의 카메라 해상도를 명시 적으로 640X480으로 변경하고 응용 프로그램을 다시 실행하면 완벽하게 정상적으로 작동합니다.

질문 : -

  1. 방법

    이를 극복하기 위해?
  2. Android 버전과 관련된 문제 일 수 있습니까? 두 장치의 안드로이드 버전이 다릅니다.
  3. thera는 해상도 매개 변수 (640,480)를 내장 카메라 활동에 전달하는 방법입니까 ?? 또는 자체 제작 된 카메라 작업이 필요합니까 ??

다음은 코드

public void onClick(View v) { 
    // TODO Auto-generated method stub 

    if(v.getId()!=1000){ 
     imageFile = "bmp"+v.getId()+".png"; 

     File f = new File (folder,imageFile); 
     imageUri = Uri.fromFile(f); 
     Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     i.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, imageUri); 
     startActivityForResult(i,CAMERA_PIC_REQUEST); 
    } 
    if(v.getId()==1000){ 
     Intent openFinalShow = new Intent("com.integrated.mpr.FINALSHOW"); 
     startActivity(openFinalShow); 
     finish(); 
    } 

} 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 

    super.onActivityResult(requestCode, resultCode, data); 
    if(resultCode == RESULT_OK){ 
      return; 
    } 
} 
+0

강제 종료를위한 LogCat을 보여줍니다. –

+0

USB 디버깅 기술을 사용하지 않고 에뮬레이터가 카메라 활동을 지원하지 않기 때문에 logcat을 얻을 수 없습니다 –

+0

@RaghavSood 내 질문을 편집했습니다. 확인하십시오. –

답변

1

나는 주식 카메라에 의도로 해상도 매개 변수를 전달하는 것이 가능하다 생각하지 않는다에게 간다. 다른 카메라를 가지고있는 다른 전화기와 관련하여 여기에는 문제가 있으며, 의도 된 추가 기능을 인식하지 못하는 다른 기본 카메라 애플리케이션을 사용자가 가질 가능성도 있습니다.

문제를 해결하려면 미리보기 및 카메라 설정을 사용하여 맞춤형 카메라 활동을 작성해야합니다. 그런 다음 촬영 된 이미지/비디오의 해상도를 올바르게 설정할 수 있습니다. 뿐만 아니라 사용자 정의 안드로이드 카메라 예제의 해상도 및/또는 미리보기 창의 크기 등

camera developer guide 및 기타 검색으로 사용이 될 것

0

어느 목적은 당신이 할 수없는 해상도를 지정하거나 otherwie 수 있습니다 당신이 원하는 것을 얻을 수 있습니다. 또한 Camera.Parameters 객체를 통해 사진 크기를 설정할 때 Camera.getSupportedPitureSizes에 지정된 값 중 하나만 사용해야한다는 것을 확인해야합니다.

관련 문제