android - example - ¿Cómo cambiar el tamaño del mapa de bits decodificado desde la URL?
resize image android studio (6)
Necesitaba capacidades similares en mi aplicación también. Encontré la mejor solución para mí aquí.
Puede que no necesite toda esa funcionalidad, pero en algún momento el tipo está comprimiendo / escalando bitmaps.
Estoy usando mapa de bits para obtener una imagen de una url usando esto
public void loadImage(String url){
try {
bitmap = BitmapFactory.decodeStream((InputStream)new URL(url).getContent());
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
¿De todos modos puedo cambiar el tamaño de la imagen desde aquí? establecer el ancho y la altura de la misma manteniendo la resolución?
Uso: Bitmap.createScaledBitmap(Bitmap src, int dstWidth, int dstHeight, boolean filter)
Tal vez esto te ayude:
public 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;
// create a matrix for the manipulation
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;
}
¿Por qué no configuras la propiedad ancho y alto de imageView en XML?
Descubrí que la imagen de la url se redimensiona automáticamente para que quepa en ese imageView.
Puedes usar Picasso (¡muy simple!):
Picasso.with (context) .load (url) .resize (10, 10) .into (imageView)
Puedes probar esto también.
BitmapFactory.Options bmOptions = new BitmapFactory.Options();
bmOptions.inSampleSize = 1; // 1 = 100% if you write 4 means 1/4 = 25%
bitmap = BitmapFactory.decodeStream((InputStream)new URL(url).getContent(),
null, bmOptions);
bmImage.setImageBitmap(bitmap);
Espero eso ayude.