Android:Strat Imageの代わりにギャラリーに表示される画像を取得する

私のアプリでは、このコードを使ってギャラリーとカメラから画像を取得しています:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) {     
    super.onActivityResult(requestCode, resultCode, data);     
    if (requestCode == 10 && resultCode == Activity.RESULT_OK) {             
        Uri contentUri = data.getData();          
        String[] proj = { MediaStore.Images.Media.DATA };         
        Cursor cursor = managedQuery(contentUri, proj, null, null, null);         
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);         
        cursor.moveToFirst();         
        imagePath = cursor.getString(column_index);           
        //Bitmap croppedImage = BitmapFactory.decodeFile(imagePath);
        tempBitmap = BitmapFactory.decodeFile(imagePath);
        if(!(tempBitmap == null))
        {
           //here i am changing display to the tempBitmap
            photoBitmap = Bitmap.createScaledBitmap(tempBitmap, display.getWidth(), display.getHeight(), true);
            //photoBitmap = Bitmap.createBitmap(tempBitmap, 0, 0, tempBitmap.getWidth(), tempBitmap.getHeight());
            takePhotoFromGallery = true;// edited
        }
        else
            Toast.makeText(getApplicationContext(), "Image is not valid", Toast.LENGTH_SHORT).show();

    } 
    if(resultCode == RESULT_OK && requestCode==TAKE_PHOTO_CODE){
         final File file = getTempFile(this);         
         try {           
             tempBitmap = Media.getBitmap(getContentResolver(), Uri.fromFile(file));
             photoBitmap = Bitmap.createScaledBitmap(tempBitmap, display.getWidth(), display.getHeight(), true);
             takePhotoFromCamera = true;
            //do whatever you want with the bitmap (Resize, Rename, Add To Gallery, etc)         
        } catch (FileNotFoundException e) {           
            e.printStackTrace();         
        } catch (IOException e) {           
            e.printStackTrace();         
        } 
    }
}

今、すべて正常に動作します。しかし私はイメージをStratとして得た。

私はそれがこの行のためにあると思った:

photoBitmap = Bitmap.createScaledBitmap(tempBitmap, display.getWidth(), display.getHeight(), true);

ここで私は、画像の幅、高さ、ディスプレイの幅、高さをstratingしています。

私は、ギャラリーにイメージを表示することができるので、イメージがDispalyである必要があります。どのようにそれを可能にするか???

これは私がカメラからスナップしている画像です:

enter image description here

そして今これは私が私のアプリケーションで見るものです:

enter image description here

今度は2枚目の画像に少しの傷があります。そのラインコードのために。

だから、私は何をしなければならないのですか、その高さと幅で正常ですか? ありがとう。 ありがとう。

0

1 答え

ImageViewを使用し、イメージビューのスケールタイプをCenter-Insideに設定します。

1
追加された