Показать изображение в увеличенном размере imageView из галереи - PullRequest
2 голосов
/ 03 декабря 2011

Я хочу отобразить iamge на imageView из галереи. Когда я вызываю картинку из галереи, я хочу установить размер изображения, как с камеры. Не могли бы вы дать мне руку? Когда я выбираю с камеры, его можно масштабировать как createScaledBitmap. Если у вас есть другая идея, не setImageURI, не могли бы вы дать мне совет? Могу ли я использовать setImageBitmap вместо URI? Я хочу сохранить эти изображения с соответствующим списком, такие как сохранение в sqlite для типа BLOB-объектов. Пожалуйста, посоветуйте мне. Спасибо.

    protected void onActivityResult(int requestCode, int resultCode, Intent data) 
{
    super.onActivityResult(requestCode, resultCode, data);
     if (resultCode != RESULT_OK) return;
       switch (requestCode)
       {
        case PICK_FROM_CAMERA:
            Bundle extras = data.getExtras();
            Bitmap selectedImage = (Bitmap) extras.get("data");
            selectedImage = Bitmap.createScaledBitmap(selectedImage, 200, 250, false);
            mImageView.setImageBitmap(selectedImage);
            break;

        case PICK_FROM_GALLERY:
            Uri selectedImageUri = data.getData();
            selectedImagePath = getPath(selectedImageUri);
            System.out.println("Image Path : " + selectedImagePath);
            mImageView.setImageURI(selectedImageUri);
        break;
       }
}

Ответы [ 4 ]

2 голосов
/ 03 декабря 2011

попробуйте это в CASE PICK_FROM_GALLERY

Uri selectedImageUri = data.getData();
   selectedImagePath = getPath(selectedImageUri);

Bitmap bitmap = BitmapFactory.decodeFile(selectedImagePath);

  Bitmap bt=Bitmap.createScaledBitmap(bitmap, 150, 150, false);  

  photo_image.setImageBitmap(bt)
1 голос
/ 03 декабря 2011
Bitmap photobitmap = BitmapFactory.decodeFile(selectedImagePath);


if(photoBitmap!=null)
                            {   
                                // Compressing large image to small one 

                                Display display = getWindowManager().getDefaultDisplay(); 

                                int width = display.getWidth();
                                int height = display.getHeight();


                             int photo_width = photoBitmap.getWidth();
                             int photo_height = photoBitmap.getHeight();

                            if(photo_width >width)
                                photo_width = width;

                           if(photo_height > height)
                                photo_height = height;

                                    photoBitmap = Bitmap.createScaledBitmap (photoBitmap, photo_width , photo_height , false);

                                    photo.setImageBitmap(photoBitmap);
                             }

// Если ваши imageView высота и высота фиксированы, укажите их. Я взял высоту и ширину устройства для лучшего понимания.

0 голосов
/ 29 января 2016

Вы можете использовать заводские параметры растрового изображения и изменить масштаб изображения, если хотите ..

Uri selectedImageUri = data.getData();
selectedImagePath = getPath(selectedImageUri);

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8; // your sample size 
Bitmap bitmap = BitmapFactory.decodeFile(selectedImagePath,options);  
mImageView.setImageBitmap(bitmap);
0 голосов
/ 05 декабря 2011
ImageView imageView = findViewById(R.id.photo_image);

Bitmap photobitmap = BitmapFactory.decodeFile(selectedImagePath);


if(photoBitmap!=null)
                            {   

                             int photo_width = photoBitmap.getWidth();
                             int photo_height = photoBitmap.getHeight();
   //1dp = 1.5 px 150dp = 225px 

                            if(photo_width >225)
                                photo_width = 225;

                           if(photo_height > 225)
                                photo_height = 225;

                                    photoBitmap = Bitmap.createScaledBitmap (photoBitmap, photo_width , photo_height , false);

                                    photo.setImageBitmap(photoBitmap);
                             }
...