Cómo cargar un ImageView desde un archivo png?
Tomo una foto con la cámara usando
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE ); startActivityForResult( intent, 22 );
Cuando la actividad se completa, escribo la imagen de mapa de bits en un archivo PNG.
- Android - ¿Es posible declarar una máscara alfa directamente dentro de la definición de la capa-lista XML?
- Aplicación de una superposición (filtro de imagen) a un mapa de bits
- ¿Cómo guardar la vista desde el lienzo al archivo PNG?
- Cómo convertir bitmap a PNG y luego a base64 en Android?
- OpenGL ES 2.0 PNG canal alfa
java.io.FileOutputStream out = openFileOutput("myfile.png", Context.MODE_PRIVATE); bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
Eso va bien, y puedo ver que el archivo se crea en el espacio de datos privados de mi aplicación.
Estoy teniendo dificultad cuando después quiero mostrar esa imagen usando un ImageView.
¿Alguien puede sugerir código para hacer esto?
Si intento crear un archivo con separadores de ruta, falla. Si intento crear un Uri de un nombre sin separadores, que falla.
Puedo abrir el archivo usando:
java.io.FileInputStream in = openFileInput("myfile.png");
Pero eso no me da el Uri que necesito para establecer una imagen con
iv.setImageURI(u)
Resumen: Tengo la imagen en un archivo png en datos de aplicación privada. ¿Cuál es el código para establecer que en un ImageView?
Gracias.
- Android 2.2 distorsiona los colores de la imagen?
- Cámara predeterminada para tomar una foto en android
- Uso de JPEG como fondo en Android insted de PNG
- Perder fondo transparente al descargar una imagen PNG externa
- A veces: <nine-patch> requiere un atributo src válido
- Añadir un png al portapapeles en android
- Optimización png android
- Edita el png del ninepatch del android programly (cambia color)
Pruebe BitmapFactory.decodeFile()
y luego setImageBitmap()
en ImageView
.
También es posible:
java.io.FileInputStream in = openFileInput("myfile.png"); iv.setImageBitmap(BitmapFactory.decodeStream(in));
iv.setImageURI(Uri.fromFile(in));
¿Por qué no de esta manera:
ImageView MyImageView = (ImageView)findViewById(R.id.imageView1); Drawable d = Drawable.createFromPath( PATH TO FILE ); MyImageView.setImageDrawable(d);
bitmap = BitmapFactory.decodeFile(imageInSD);
No debe haber ninguna diferencia entre decodeStream () y decodeFile () . El método decodeFile () abre un inputtream y llama a decodeStream (). Esto ya fue respondido en este enlace
- No puede combinar títulos personalizados con otras funciones de título
- ListView con alfabetos a la derecha, como el iPhone. ¿Es posible?