He creado una aplicación de cámara personalizada y estoy tratando de cambiar la resolución de la imagen que se toma. He leído que esto podría depender del teléfono o la versión de Android.Android Camera Set Resolución
Sé que se configuran usando el setParameters
pero simplemente no sé cómo configurar la resolución real para que funcione en todos los teléfonos. Quiero que sea algo pequeño ya que mi fuerza de aplicaciones cierra de otra manera. Cuando uso una imagen de prueba a 640x348 esto funciona, así que alrededor de ese tamaño/resolución sería perfecto.
Puede ser más fácil de usar setPictureSize
?
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
camera = Camera.open();
try {
Camera.Parameters parameters = camera.getParameters();
if (this.getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) {
parameters.set("orientation", "portrait");
camera.setDisplayOrientation(90);
// Uncomment for Android 2.0 and above
parameters.setRotation(90);
} else {
parameters.set("orientation", "landscape");
camera.setDisplayOrientation(0);
// Uncomment for Android 2.0 and above
parameters.setRotation(0);
}
camera.setParameters(parameters);
camera.setPreviewDisplay(holder);
} catch (IOException exception) {
camera.release();
}
camera.startPreview();
}
Ok cool ¿es posible que me muestres cómo implementar que intenté ejecutar tu código desde github pero acaba de recibir errores de eclipse? – Matt
También verificará el código los tamaños admitidos y luego lo guardará como el más pequeño, o necesita más? – Matt
@Matt: No puedo ayudarte con los "errores del eclipse" si te niegas a decir cuáles son los errores. Y no tengo idea de qué es "más", por lo que no puedo decir si el código lo necesita. – CommonsWare