Según la documentación, setRotation(90) debe girar la imagen JPEG capturada (takePicture en modo horizontal.setRotation (90) para tomar la fotografía en el modo vertical no funciona en los dispositivos de Samsung
Esto funciona bien en un teléfono HTC, pero no funciona en Samsung Google Nexus S y Samsung Galaxy S3. ¿Es esto un error?
Sé que puedo usar la rotación de transformación de la matriz, pero me gustaría que el SO pueda hacerlo de manera más eficiente y no quiera arriesgar sobre-rotación en algunos otros dispositivos.
editar
La configuración camera.setDisplayOrientation(90);
hizo que la vista previa estuviera en modo retrato, sin embargo, no tuvo ningún efecto en la imagen tomada.
Además, setRotation
Además, también he tratado de establecer el tamaño de la imagen - en donde me tapa h
con w
: parameters.setPictureSize(1200, 1600);
. Esto tampoco tuvo ningún efecto.
solución
Aparentemente teléfonos Samsung establecer la etiqueta orientación EXIF, en lugar de rotación de los píxeles individuales. Como se sugirió ariefbayu
, leer el mapa de bits usando BitmapFactory
no es compatible con esta etiqueta. Su código de muestra es la solución, y esta solución también es compatible con el uso de inSampleSize
.
¿Ve algún error? – kosa
Echa un vistazo a esta respuesta, ya que podría ayudar: http://stackoverflow.com/questions/3841122/android-camera-preview-is-sideways/5110406 –
@thinksteep: no, no veo ningún error a través de la consola de Android . – tofi9