studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android image bitmap screen imageview

para - manual de programacion android pdf



Android: ¿cómo convertir ImageView completo a Bitmap? (5)

Este es un código de trabajo

imageView.setDrawingCacheEnabled(true); imageView.buildDrawingCache(); Bitmap bitmap = Bitmap.createBitmap(imageView.getDrawingCache());

Tengo mi aplicación que muestra imágenes con diferente relación, redimensionada dentro (centerInside) imageView. Lo que necesito es crear un mapa de bits desde ImageView incluido el fondo (negro en este caso).

Entonces, por ejemplo, tengo la pantalla del dispositivo 320x480, la imagen en pantalla completa con la imagen cambiada a 280x480. ¿Cómo podría obtener un mapa de bits de 320x480?

Además de esta vista de imagen, tengo algunos logos o botones que no quiero incluir en el mapa de bits, están en la capa superior. Todo lo que necesito es mapa de bits con imagen y borde negro desde algunos lados.


Has probado:

BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable(); Bitmap bitmap = drawable.getBitmap();


Podrías usar el caché de imágenes de imageView. Retratará toda la vista a medida que se distribuye (a escala, bordeada con un fondo, etc.) a un nuevo mapa de bits.

solo asegúrate de que esté construido.

imageView.buildDrawingCache(); Bitmap bmap = imageView.getDrawingCache();

ahí está tu mapa de bits cuando la pantalla lo vio.


Solo pensar en voz alta aquí (con cierta poca experiencia trabajando con gráficos en Java) tal vez podría funcionar algo como esto:

ImageView iv = (ImageView)findViewById(R.id.imageview); Bitmap bitmap = Bitmap.createBitmap(iv.getWidth(), iv.getHeight(), Bitmap.Config.RGB_565); Canvas canvas = new Canvas(bitmap); iv.draw(canvas);

Por curiosidad, ¿qué estás tratando de lograr? Puede haber una mejor manera de lograr su objetivo de lo que tiene en mente.


try { photo.setImageURI(Uri.parse("Location"); BitmapDrawable drawable = (BitmapDrawable) photo.getDrawable(); Bitmap bitmap = drawable.getBitmap(); bitmap = Bitmap.createScaledBitmap(bitmap, 70, 70, true); photo.setImageBitmap(bitmap); } catch (Exception e) { }