canogt
18/02/14, 14:02:10
Buenas tardes a todos,
A ver si alguien me puede echar una manita.. :)
tengo un problema cuando recupero una foto de la galería o de la cámara y la guardo en la carpeta de mi aplicación.
Una vez guardada, cuando la recupero para visualizarla me aparece la imagen muy pixelada, ha perdido muchísima calidad y la letras son ilegibles.
Dejo el código que uso a ver si alguien me puede iluminar un poco.
...........
.......
try{
if (requestCode == SELECT_IMAGE)
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = data.getData();
if (selectedImage != null) {
image_view.setImageBitmap(getScaledBitmap(selected Image));
thumbnail = getScaledBitmap(selectedImage);
}
} else if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(getBaseContext(), "Se ha cancelado la seleccion de foto " ,Toast.LENGTH_SHORT).show();
}
if(requestCode == TAKE_PICTURE)
if(resultCode == Activity.RESULT_OK){
Uri selectedImage = data.getData();
thumbnail = (Bitmap) data.getExtras().get("data");
image_view.setImageBitmap(thumbnail);
}
else if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(getBaseContext(), "Se ha cancelado la captura de foto " ,Toast.LENGTH_SHORT).show();
}
} catch(Exception e){}
}
...............
..........
Y en otra parte del programa actúo con las variables que he cargado en este código
file = new File(folder,String.valueOf(NombreFoto) + ".jpg");
OutputStream f = null;
try {
f = new FileOutputStream(file);
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, f);
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
}
Se que estoy comprimiendo la foto pero al darle al valor 100 no se guarda con buena calidad?
no he visto que la gente que use este método se queje de una perdida de calidad tan brutal como la que yo tengo.
Muchas gracias compis.
A ver si alguien me puede echar una manita.. :)
tengo un problema cuando recupero una foto de la galería o de la cámara y la guardo en la carpeta de mi aplicación.
Una vez guardada, cuando la recupero para visualizarla me aparece la imagen muy pixelada, ha perdido muchísima calidad y la letras son ilegibles.
Dejo el código que uso a ver si alguien me puede iluminar un poco.
...........
.......
try{
if (requestCode == SELECT_IMAGE)
if (resultCode == Activity.RESULT_OK) {
Uri selectedImage = data.getData();
if (selectedImage != null) {
image_view.setImageBitmap(getScaledBitmap(selected Image));
thumbnail = getScaledBitmap(selectedImage);
}
} else if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(getBaseContext(), "Se ha cancelado la seleccion de foto " ,Toast.LENGTH_SHORT).show();
}
if(requestCode == TAKE_PICTURE)
if(resultCode == Activity.RESULT_OK){
Uri selectedImage = data.getData();
thumbnail = (Bitmap) data.getExtras().get("data");
image_view.setImageBitmap(thumbnail);
}
else if (resultCode == Activity.RESULT_CANCELED) {
Toast.makeText(getBaseContext(), "Se ha cancelado la captura de foto " ,Toast.LENGTH_SHORT).show();
}
} catch(Exception e){}
}
...............
..........
Y en otra parte del programa actúo con las variables que he cargado en este código
file = new File(folder,String.valueOf(NombreFoto) + ".jpg");
OutputStream f = null;
try {
f = new FileOutputStream(file);
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, f);
f.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
}
}
Se que estoy comprimiendo la foto pero al darle al valor 100 no se guarda con buena calidad?
no he visto que la gente que use este método se queje de una perdida de calidad tan brutal como la que yo tengo.
Muchas gracias compis.