América, parte de nuestro staff, nos ha hecho el favor de escribir este escrito ya que domina perfectamente el tema.
Solución:
Debajo del código Trabajando para la imagen a escala como relación de aspecto:
Bitmap bitmapImage = BitmapFactory.decodeFile("Your path");
int nh = (int) ( bitmapImage.getHeight() * (512.0 / bitmapImage.getWidth()) );
Bitmap scaled = Bitmap.createScaledBitmap(bitmapImage, 512, nh, true);
your_imageview.setImageBitmap(scaled);
Comprime tu imagen sin perder calidad como whatsapp
public String compressImage(String imageUri)
public String getFilename()
File file = new File(Environment.getExternalStorageDirectory().getPath(), "MyFolder/Images");
if (!file.exists())
file.mkdirs();
String uriSting = (file.getAbsolutePath() + "/" + System.currentTimeMillis() + ".jpg");
return uriSting;
private String getRealPathFromURI(String contentURI)
Uri contentUri = Uri.parse(contentURI);
Cursor cursor = getContentResolver().query(contentUri, null, null, null, null);
if (cursor == null)
return contentUri.getPath();
else
cursor.moveToFirst();
int index = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
return cursor.getString(index);
public int calculateInSampleSize(BitmapFactory.Options options, int reqWidth, int reqHeight)
Crear clase para la imagen de CompressFile
public class CompressFile
public static File getCompressedImageFile(File file, Context mContext)
try
BitmapFactory.Options o = new BitmapFactory.Options();
o.inJustDecodeBounds = true;
if (getFileExt(file.getName()).equals("png") catch (Exception e)
return null;
public static String getFileExt(String fileName)
return fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length());
public static Bitmap rotateImage(Bitmap source, float angle)
Matrix matrix = new Matrix();
matrix.postRotate(angle);
return Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(),
matrix, true);
Utilice este código para comprimir mapa de bits en un tamaño inferior.
BitmapFactory.Options Options = new BitmapFactory.Options();
Options.inSampleSize = 4;
Options.inJustDecodeBounds = false;
action_bitmap = BitmapFactory.decodeFile(Glob.savedImage, Options);
Glob.savedImage es la ruta de cadena de la imagen.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)