2012-09-07 6 views
1

나는 다음을 수행해야합니다 Android에서 Camera에서 선택한 이미지에서 너비와 높이를 올바르게 얻으려면 어떻게해야합니까?

  • 이미지에서 배경을 제거하고 다른 배경에 넣어 ...

    1. 안드로이드에서 카메라를 사용하여 사진을 가져
    2. 저장이

    Im이 세 단계를 잘하고 있습니다 ... 문제는 이미지가 작은 크기 (160 x 120)로 저장된다는 것입니다. 내가 카메라에서 결과를 얻을 때 나는이 작업을 수행 :

    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
         if (requestCode == CAMERA_REQUEST) { 
          Bitmap photo = (Bitmap) data.getExtras().get("data"); 
          Log.i("Test", "Width: " + photo.getWidth() + " Height: " + photo.getHeight()); 
    

    그것은

    Width: 160 Height: 120 
    

    내가 "데이터"에서 얻고 이미지 변수가 X 960 1280를 반환 ...

    사용하는 경우

    background= Bitmap.createScaledBitmap(background, 1280, 960, false); 
    

    이미지가 불량 ...

    어떻게 비트 맵을 올바른 크기로 만들 수 있습니까?!

    @Override 
    public void onPictureTaken(byte[] data, Camera camera) { 
        File pictureFile = new File(filename); 
    
        try { 
        FileOutputStream fos = new FileOutputStream(pictureFile); 
        fos.write(data); 
        fos.close(); 
        } catch (Exception e) { 
        } 
    
        Intent intent = this.getIntent(); 
        intent.putExtra("filename", filename); 
        this.setResult(RESULT_OK, intent); 
        finish(); 
    } 
    
  • +0

    왜 당신이 여분의 비트 맵으로 데이터를 반환하는 : – JRaymond

    +0

    어떻게해야합니까? – Igor

    답변

    2

    결과로 파일 이름을 파일에 이미지를 기록한 다음, 반환 시도

    ? 비트 맵 직렬화로 크기가 줄어들 수도 있습니다. 파일을 카메라 작업에 저장하고 파일 이름을 작업 결과로 반환하는 것이 더 좋습니다.
    +0

    감사합니다. 나는 당신이 게시하기 전에 그저 몇 minuts을 발견했다. hehehe 나에게 일했다 :) – Igor

    관련 문제