2011-08-02 16 views
7

나는 안드로이드 카메라를 사용하여 사진을 찍고있는 안드로이드 앱을 가지고 있습니다. 이 사진은 activity A에서 찍은 후 편집 된 activity B에게 전송됩니다. 당신은 내가 회전하고있어 볼 수 있듯이 bitmap 내가이 사용하는 90받을이미지 크기를 안드로이드에서 전체 화면으로 설정

Bundle extras = getIntent().getExtras(); 
BitmapFactory.Options options=new BitmapFactory.Options(); 
     options.inSampleSize = 5; 
     byte[] imageData = extras.getByteArray("imageData"); 
     Bitmap myImage = BitmapFactory.decodeByteArray(imageData , 0, imageData.length,options); 

     Matrix mat=new Matrix(); 
     mat.postRotate(90); 
     bitmapResult = Bitmap.createBitmap(myImage, 0, 0, myImage.getWidth(), myImage.getHeight(), mat, true); 
ImageView imageView = (ImageView) findViewById(R.id.myPic); 
     imageView.setImageBitmap(bitmapResult); 

:

은 어떻게 activity B 내 이미지를받을 수 있습니다

Matrix mat=new Matrix(); 
      mat.postRotate(90); 

을 그리고 여기 내 imageView입니다 in XML 파일 :

<ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_gravity="center" 
    android:id="@+id/myPic" 
    /> 

문제가 있습니다. 내가 직면하고있어 t는 당신이 여기에서 볼 수 있습니다 almoust 전체 screnn입니다하지만 entirly.As ... 내 사진을 전체 화면이되지 않는 것입니다 :

enter image description here

당신이 약간 증가하는 데 도움 수 있다면 그 크기 정말 고마워 할 것입니다. 감사합니다

편집 : 내 이미지의 너비를 높이고 싶습니다. 죄송합니다!

+0

은 버튼 뒤의 이미지도 표시하려는 것을 의미합니다. – Hanry

+0

이미지의 너비를 늘리고 싶습니다. – adrian

+1

android : scaleType = "fitXY"를 imageView xml에 사용해 보셨습니까? – ingsaurabh

답변

4

이미지를자를 수 있습니다. 이미지가 전체 높이가 아니기 때문에 이미지의 너비가 그에 따라 비례 적으로 축소되므로 측면에 검은 색 스트립이 표시됩니다.

즉, 휴대 전화의 카메라를 사용하여 촬영 한 이미지는 화면의 너비 - 높이 비율, 즉 화면의 가로 너비 비율과 정확히 일치하도록되어 있습니다. 그러나 앱에서 이미지의 높이는 상단의 버튼에 의해 제한되므로 이미지의 너비 - 높이 비율을 유지하려면 이미지 너비가 그에 비례하여 축소됩니다.

+0

무슨 뜻인지 정말로 이해하지 못합니다! 내 이미지 너비 만 늘리고 싶다. 그게 다야! – adrian

+0

이미지가 1000 x 2000이고 화면이 500 x 1000이라고 가정합니다. 그런 다음 버튼의 크기가 100px라고 가정합니다. 즉, 표시되는 이미지의 높이 = 1000 - 100 = 900입니다. 비율을 유지하려면 표시되는 이미지의 너비 = 900/2000 * 1000 = 450. –

+0

따라서 이미지의 너비를 높이려면 1) 이미지의 상단을 200 픽셀 (이미지의 너비 = 900/1800 * 1000 = 500; 2) 겹쳐서 이미지 위에 자릅니다. 3) 자동으로 크기를 조절하고 자르기 위해 [setScaleType] (http://developer.android.com/reference/android/widget/ImageView.html#setScaleType%28android.widget.ImageView.ScaleType%29)을 사용하십시오. –

5

당신은 당신은 전체 화면 이미지를 얻을 및 이미지의 가로 세로 비율을 유지하기 위해 CENTER_CROP를 사용할 수

ImageView.ScaleType="CENTER_CROP" 
관련 문제