validar studio metodos from ejemplo android imageview android-bitmap

android - studio - Obtener Bitmap adjunto a ImageView



metodos de imageview (6)

Escriba abajo el código

ImageView yourImageView = (ImageView) findViewById(R.id.yourImageView); Bitmap bitmap = ((BitmapDrawable)yourImageView.getDrawable()).getBitmap();

Dado

ImageView image = R.findViewById(R.id.imageView); image.setImageBitmap(someBitmap);

¿Es posible recuperar el mapa de bits?


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(); }


Esto te dará 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 forma de obtener un mapa de bits de una imagen es haciendo esto:

Bitmap imagenAndroid = BitmapFactory.decodeResource(getResources(),R.drawable.jellybean_statue); imageView.setImageBitmap(imagenAndroid);


prueba este código:

Bitmap bitmap; bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();


Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();