99 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 cambio el tamaño de las imágenes en Android? android bitmap Jignesh Ansodariya fuente 6 ¿Desea reducir el tamaño de la imagen o simplemente desea mostrar un tamaño pequeño? MAC Respuestas: 186 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); bueno fuente 30 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); } Hernaldo González fuente 8 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(); Jay Mayu fuente 6 Puede usar 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); N.Droid fuente 5 bm = Bitmap.createScaledBitmap(bitmapSource, width, height, true); :) Misca fuente 5 // la foto es una 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; } ritesh4326 fuente 4 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 vacío fuente 4 resized = Bitmap.createScaledBitmap(yourImageBitmap,(int)(yourImageBitmap.getWidth()*0.9), (int)(yourBitmap.getHeight()*0.9), true); Vaishali Sutariya fuente 2 A continuación se muestra la función para cambiar el tamaño del mapa de bits manteniendo la misma relación de aspecto. Aquí también he escrito una publicación de blog detallada sobre el tema para explicar este método. Cambie el tamaño de un mapa de bits manteniendo la misma relación de aspecto . public static Bitmap resizeBitmap(Bitmap source, int maxLength) { try { if (source.getHeight() >= source.getWidth()) { int targetHeight = maxLength; if (source.getHeight() <= targetHeight) { // if image already smaller than the required height return source; } double aspectRatio = (double) source.getWidth() / (double) source.getHeight(); int targetWidth = (int) (targetHeight * aspectRatio); Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); if (result != source) { } return result; } else { int targetWidth = maxLength; if (source.getWidth() <= targetWidth) { // if image already smaller than the required height return source; } double aspectRatio = ((double) source.getHeight()) / ((double) source.getWidth()); int targetHeight = (int) (targetWidth * aspectRatio); Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); if (result != source) { } return result; } } catch (Exception e) { return source; } } Asad Ali Choudhry fuente 0 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); Alobaidi fuente
186 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); bueno fuente
30 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); } Hernaldo González fuente
8 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(); Jay Mayu fuente
6 Puede usar 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); N.Droid fuente
5 // la foto es una 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; } ritesh4326 fuente
4 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 vacío fuente
4 resized = Bitmap.createScaledBitmap(yourImageBitmap,(int)(yourImageBitmap.getWidth()*0.9), (int)(yourBitmap.getHeight()*0.9), true); Vaishali Sutariya fuente
2 A continuación se muestra la función para cambiar el tamaño del mapa de bits manteniendo la misma relación de aspecto. Aquí también he escrito una publicación de blog detallada sobre el tema para explicar este método. Cambie el tamaño de un mapa de bits manteniendo la misma relación de aspecto . public static Bitmap resizeBitmap(Bitmap source, int maxLength) { try { if (source.getHeight() >= source.getWidth()) { int targetHeight = maxLength; if (source.getHeight() <= targetHeight) { // if image already smaller than the required height return source; } double aspectRatio = (double) source.getWidth() / (double) source.getHeight(); int targetWidth = (int) (targetHeight * aspectRatio); Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); if (result != source) { } return result; } else { int targetWidth = maxLength; if (source.getWidth() <= targetWidth) { // if image already smaller than the required height return source; } double aspectRatio = ((double) source.getHeight()) / ((double) source.getWidth()); int targetHeight = (int) (targetWidth * aspectRatio); Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); if (result != source) { } return result; } } catch (Exception e) { return source; } } Asad Ali Choudhry fuente
0 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); Alobaidi fuente
Respuestas:
Tratar:
o:
fuente
fuente
Capture la imagen y cambie su tamaño.
fuente
Puede usar Matrix para cambiar el tamaño de la imagen de su cámara ...
fuente
:)
fuente
// la foto es una imagen de mapa de bits
fuente
fuente
fuente
A continuación se muestra la función para cambiar el tamaño del mapa de bits manteniendo la misma relación de aspecto. Aquí también he escrito una publicación de blog detallada sobre el tema para explicar este método. Cambie el tamaño de un mapa de bits manteniendo la misma relación de aspecto .
fuente
fuente