Obtener mapa de bits adjunto a ImageView
Dado
ImageView image = R.findViewById(R.id.imageView); image.setImageBitmap(someBitmap);
¿Es posible recuperar el mapa de bits?
- ¿Cómo mostrar imágenes en imageview en un adaptador simple?
- Extraño comportamiento de las imágenes en RecyclerView
- ¿Cómo desactivan otros botones cuando presiono el botón?
- ¿La llamada de runOnUiThread de Android llama a getView () en Adapters?
- Cómo hacer la animación de marco suave en Android?
- Cómo mostrar emoticonos en Android
- Recortar y agrandar imagen sin mover la superposición Ver en cambio mover la imagen en ImageView
- Lenta Cargando imágenes grandes con Picasso
- Encuentra la posición de un mapa de bits en la vista de imagen de Android cuando la vista de contenedor se escala centerInside
- Hacer el ancho de ajuste ImageView de CardView
- Android: ¿Cómo puedo acelerar el desplazamiento de GridView?
- Android agrega imagen de flecha a spinner
- Obtener Bitmap de ImageView cargado con Picasso
Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
Esto le proporcionará un Bitmap
de Bitmap
de ImageView
. Sin embargo, no es el mismo objeto de mapa de bits que ha establecido. Es una nueva.
imageView.buildDrawingCache(); Bitmap bitmap = imageView.getDrawingCache();
=== EDIT ===
imageView.setDrawingCacheEnabled(true); imageView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); imageView.layout(0, 0, imageView.getMeasuredWidth(), imageView.getMeasuredHeight()); imageView.buildDrawingCache(true); Bitmap bitmap = Bitmap.createBitmap(imageView.getDrawingCache()); imageView.setDrawingCacheEnabled(false);
Otra manera de obtener un mapa de bits de una imagen es hacer esto:
Bitmap imagenAndroid = BitmapFactory.decodeResource(getResources(),R.drawable.jellybean_statue); imageView.setImageBitmap(imagenAndroid);
Este código es mejor.
public static byte[] getByteArrayFromImageView(ImageView imageView) { BitmapDrawable bitmapDrawable = ((BitmapDrawable) imageView.getDrawable()); Bitmap bitmap; if(bitmapDrawable==null){ imageView.buildDrawingCache(); bitmap = imageView.getDrawingCache(); imageView.buildDrawingCache(false); }else { bitmap = bitmapDrawable .getBitmap(); } ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); return stream.toByteArray(); }
Prueba este código:
Bitmap bitmap; bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
- ¿Qué utilizar en lugar de "addPreferencesFromResource" en una PreferenciaActividad?
- ¿Cómo abrir Google Play Store directamente desde mi aplicación de Android?