Cómo cambiar el tamaño de la imagen en Android?

Estoy creando una aplicación y quiero configurar una vista de galería. No quiero que las imágenes de la vista de galería sean de tamaño completo. ¿Cómo puedo cambiar el tamaño de las imágenes en Android?

Tratar:

Bitmap yourBitmap; Bitmap resized = Bitmap.createScaledBitmap(yourBitmap, newWidth, newHeight, true); 

o:

 resized = Bitmap.createScaledBitmap(yourBitmap,(int)(yourBitmap.getWidth()*0.8), (int)(yourBitmap.getHeight()*0.8), true); 
 public Bitmap resizeBitmap(String photoPath, int targetW, int targetH) { BitmapFactory.Options bmOptions = new BitmapFactory.Options(); bmOptions.inJustDecodeBounds = true; BitmapFactory.decodeFile(photoPath, bmOptions); int photoW = bmOptions.outWidth; int photoH = bmOptions.outHeight; int scaleFactor = 1; if ((targetW > 0) || (targetH > 0)) { scaleFactor = Math.min(photoW/targetW, photoH/targetH); } bmOptions.inJustDecodeBounds = false; bmOptions.inSampleSize = scaleFactor; bmOptions.inPurgeable = true; //Deprecated API 21 return BitmapFactory.decodeFile(photoPath, bmOptions); } 

Capture la imagen y cambie su tamaño.

 Bitmap image2 = (Bitmap) data.getExtras().get("data"); img.setImageBitmap(image2); String incident_ID = IncidentFormActivity.incident_id; imagepath="/sdcard/RDMS/"+incident_ID+ x + ".PNG"; File file = new File(imagepath); try { double xFactor = 0; double width = Double.valueOf(image2.getWidth()); Log.v("WIDTH", String.valueOf(width)); double height = Double.valueOf(image2.getHeight()); Log.v("height", String.valueOf(height)); if(width>height){ xFactor = 841/width; } else{ xFactor = 595/width; } Log.v("Nheight", String.valueOf(width*xFactor)); Log.v("Nweight", String.valueOf(height*xFactor)); int Nheight = (int) ((xFactor*height)); int NWidth =(int) (xFactor * width) ; bm = Bitmap.createScaledBitmap( image2,NWidth, Nheight, true); file.createNewFile(); FileOutputStream ostream = new FileOutputStream(file); bm.compress(CompressFormat.PNG, 100, ostream); ostream.close(); 

Puede utilizar Matrix para cambiar el tamaño de la imagen de su cámara ….

 BitmapFactory.Options options=new BitmapFactory.Options(); InputStream is = getContentResolver().openInputStream(currImageURI); bm = BitmapFactory.decodeStream(is,null,options); int Height = bm.getHeight(); int Width = bm.getWidth(); int newHeight = 300; int newWidth = 300; float scaleWidth = ((float) newWidth) / Width; float scaleHeight = ((float) newHeight) / Height; Matrix matrix = new Matrix(); matrix.postScale(scaleWidth, scaleHeight); Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0,Width, Height, matrix, true); BitmapDrawable bmd = new BitmapDrawable(resizedBitmap); 
 BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize=2; //try to decrease decoded image Bitmap bitmap=BitmapFactory.decodeStream(is, null, options); bitmap.compress(Bitmap.CompressFormat.JPEG, 70, fos); //compressed bitmap to file 

// foto es imagen de mapa de bits

 Bitmap btm00 = Utils.getResizedBitmap(photo, 200, 200); setimage.setImageBitmap(btm00); And in Utils class : public static Bitmap getResizedBitmap(Bitmap bm, int newHeight, int newWidth) { int width = bm.getWidth(); int height = bm.getHeight(); float scaleWidth = ((float) newWidth) / width; float scaleHeight = ((float) newHeight) / height; Matrix matrix = new Matrix(); // RESIZE THE BIT MAP matrix.postScale(scaleWidth, scaleHeight); // RECREATE THE NEW BITMAP Bitmap resizedBitmap = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, false); return resizedBitmap; } 
 bm = Bitmap.createScaledBitmap(bitmapSource, width, height, true); 

🙂

 resized = Bitmap.createScaledBitmap(yourImageBitmap,(int)(yourImageBitmap.getWidth()*0.9), (int)(yourBitmap.getHeight()*0.9), true); 
 BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize = 10; FixBitmap = BitmapFactory.decodeFile(ImagePath, options); //FixBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.gv); byteArrayOutputStream = new ByteArrayOutputStream(); FixBitmap.compress(Bitmap.CompressFormat.JPEG, 80, byteArrayOutputStream); //compress to 50% of original image quality byteArray = byteArrayOutputStream.toByteArray(); ConvertImage = Base64.encodeToString(byteArray, Base64.DEFAULT); 
  • Cómo guardar datos Exif después de copiar mapa de bits en Android
  • Obtener el tamaño de Bitmap Android
  • Aumentar la memoria asignada a la aplicación
  • Android: cargador de imágenes universal cargar imagen grande
  • Excepción en unbindDrawables
  • Acceso a datos sin procesar en ARGB_8888 Android Bitmap
  • Cómo evitar createBitmap () bloqueo en android
  • Mapa de bits de Android para Imageview
  • Redondeando solamente UNA esquina de la imagen - no todas las cuatro
  • Dibujar objeto / imagen sobre lienzo
  • Java Java crea mapa de bits a partir del valor hexadecimal
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.